summaryrefslogtreecommitdiff
path: root/docutils/test/functional
diff options
context:
space:
mode:
authormilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2021-03-20 23:47:29 +0000
committermilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2021-03-20 23:47:29 +0000
commit4e72975bd141d72b0bd0ee37fc74ce84f0433267 (patch)
tree47198b51be55a13fc9ad5eaaef312ff26461a57f /docutils/test/functional
parent0160cfcb5dcd51113106e63002b53345a9b57abc (diff)
downloaddocutils-4e72975bd141d72b0bd0ee37fc74ce84f0433267.tar.gz
HTML5 writer: support <video>.
Use <video> for images with video MIME types supported by HTML5. git-svn-id: https://svn.code.sf.net/p/docutils/code/trunk@8639 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils/test/functional')
-rw-r--r--docutils/test/functional/expected/video.html38
-rw-r--r--docutils/test/functional/input/data/video.txt34
-rw-r--r--docutils/test/functional/tests/html5_video.py14
3 files changed, 86 insertions, 0 deletions
diff --git a/docutils/test/functional/expected/video.html b/docutils/test/functional/expected/video.html
new file mode 100644
index 000000000..6940279ab
--- /dev/null
+++ b/docutils/test/functional/expected/video.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta charset="utf-8"/>
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+<meta name="generator" content="Docutils 0.17b2.dev: http://docutils.sourceforge.net/" />
+<title>Moving images (video)</title>
+<link rel="stylesheet" href="../input/data/minimal.css" type="text/css" />
+<link rel="stylesheet" href="../input/data/plain.css" type="text/css" />
+</head>
+<body>
+<main id="moving-images-video">
+<h1 class="title">Moving images (video)</h1>
+
+<p>If the URL given to <cite>images and figures</cite> hints to a video format
+supported by HTML 5 (MIME types 'video/mp4', 'video/webm', or
+'video/ogg'), the HTML5 writer will place it in a <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video">video element</a>.</p>
+<video class="align-left" src="../../../docs/user/rst/images/pens.mp4" title="left-aligned test video">
+<a href="../../../docs/user/rst/images/pens.mp4">left-aligned test video</a>
+</video>
+<p>A class option value &quot;controls&quot; tells the browser to display controls
+for video playback.</p>
+<p>It is a good idea to include width and height attributes. If
+height and width are not set, the page might flicker while the video
+loads. According to the <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video">HTML5 spec</a>, hight and width must be
+specified as pixel values.</p>
+<figure class="align-center">
+<video class="controls" controls="controls" src="../../../docs/user/rst/images/pens.mp4" title="../../../docs/user/rst/images/pens.mp4" width="30%">
+<a href="../../../docs/user/rst/images/pens.mp4">../../../docs/user/rst/images/pens.mp4</a>
+</video>
+<figcaption>
+<p>Simple test video in a centered figure</p>
+</figcaption>
+</figure>
+<p>A video like this <video src="../../../docs/user/rst/images/pens.mp4" title="testvideo" width="60"><a href="../../../docs/user/rst/images/pens.mp4">testvideo</a></video> can be included inline via substitution.</p>
+</main>
+</body>
+</html>
diff --git a/docutils/test/functional/input/data/video.txt b/docutils/test/functional/input/data/video.txt
new file mode 100644
index 000000000..46ca2ff1a
--- /dev/null
+++ b/docutils/test/functional/input/data/video.txt
@@ -0,0 +1,34 @@
+Moving images (video)
+---------------------
+
+If the URL given to `images and figures` hints to a video format
+supported by HTML 5 (MIME types 'video/mp4', 'video/webm', or
+'video/ogg'), the HTML5 writer will place it in a `video element`_.
+
+.. image:: ../../../docs/user/rst/images/pens.mp4
+ :align: left
+ :alt: left-aligned test video
+
+A class option value "controls" tells the browser to display controls
+for video playback.
+
+It is a good idea to include width and height attributes. If
+height and width are not set, the page might flicker while the video
+loads. According to the `HTML5 spec`__, hight and width must be
+specified as pixel values.
+
+.. figure:: ../../../docs/user/rst/images/pens.mp4
+ :width: 30%
+ :align: center
+ :class: controls
+
+ Simple test video in a centered figure
+
+.. |testvideo| image:: ../../../docs/user/rst/images/pens.mp4
+ :width: 60 px
+
+A video like this |testvideo| can be included inline via substitution.
+
+__
+.. _video element:
+ https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video
diff --git a/docutils/test/functional/tests/html5_video.py b/docutils/test/functional/tests/html5_video.py
new file mode 100644
index 000000000..6a4163785
--- /dev/null
+++ b/docutils/test/functional/tests/html5_video.py
@@ -0,0 +1,14 @@
+with open('functional/tests/_standalone_rst_defaults.py') as _f:
+ exec(_f.read())
+
+# Source and destination file names.
+test_source = "data/video.txt"
+test_destination = "video.html"
+
+# Keyword parameters passed to publish_file.
+writer_name = "html5"
+
+# Settings:
+# local copy of stylesheets:
+# (Test runs in ``docutils/test/``, we need relative path from there.)
+settings_overrides['stylesheet_dirs'] = ('.', 'functional/input/data')