summaryrefslogtreecommitdiffstats
path: root/tests/roots/test-directive-code
diff options
context:
space:
mode:
Diffstat (limited to 'tests/roots/test-directive-code')
-rw-r--r--tests/roots/test-directive-code/caption.rst52
-rw-r--r--tests/roots/test-directive-code/classes.rst21
-rw-r--r--tests/roots/test-directive-code/conf.py2
-rw-r--r--tests/roots/test-directive-code/dedent.rst64
-rw-r--r--tests/roots/test-directive-code/emphasize.rst7
-rw-r--r--tests/roots/test-directive-code/empty.inc3
-rw-r--r--tests/roots/test-directive-code/error.inc1
-rw-r--r--tests/roots/test-directive-code/force.rst16
-rw-r--r--tests/roots/test-directive-code/highlight.rst20
-rw-r--r--tests/roots/test-directive-code/index.rst25
-rw-r--r--tests/roots/test-directive-code/linenos.rst18
-rw-r--r--tests/roots/test-directive-code/linenothreshold.rst23
-rw-r--r--tests/roots/test-directive-code/literal-diff.inc13
-rw-r--r--tests/roots/test-directive-code/literal-short.inc3
-rw-r--r--tests/roots/test-directive-code/literal.inc13
-rw-r--r--tests/roots/test-directive-code/namedblocks.rst28
-rw-r--r--tests/roots/test-directive-code/py-decorators.inc15
-rw-r--r--tests/roots/test-directive-code/py-decorators.rst17
-rw-r--r--tests/roots/test-directive-code/python.rst13
-rw-r--r--tests/roots/test-directive-code/target.py26
20 files changed, 380 insertions, 0 deletions
diff --git a/tests/roots/test-directive-code/caption.rst b/tests/roots/test-directive-code/caption.rst
new file mode 100644
index 0000000..77c5c38
--- /dev/null
+++ b/tests/roots/test-directive-code/caption.rst
@@ -0,0 +1,52 @@
+Caption
+=======
+
+References
+----------
+
+See :numref:`name *test* rb` and :numref:`name **test** py`.
+
+See :ref:`Ruby <name *test* rb>` and :ref:`Python <name **test** py>`.
+
+
+Code blocks
+-----------
+
+.. code-block:: ruby
+ :caption: caption *test* rb
+
+ def ruby?
+ false
+ end
+
+
+Literal Include
+---------------
+
+.. literalinclude:: literal.inc
+ :language: python
+ :caption: caption **test** py
+ :lines: 10-11
+
+
+Named Code blocks
+-----------------
+
+.. code-block:: ruby
+ :name: name *test* rb
+ :caption: caption *test* rbnamed
+
+ def ruby?
+ false
+ end
+
+
+Named Literal Include
+---------------------
+
+.. literalinclude:: literal.inc
+ :language: python
+ :name: name **test** py
+ :caption: caption **test** pynamed
+ :lines: 10-11
+
diff --git a/tests/roots/test-directive-code/classes.rst b/tests/roots/test-directive-code/classes.rst
new file mode 100644
index 0000000..e9aa5d9
--- /dev/null
+++ b/tests/roots/test-directive-code/classes.rst
@@ -0,0 +1,21 @@
+classes
+=======
+
+Code blocks
+-----------
+
+.. code-block:: ruby
+ :class: foo bar
+ :name: code_block
+
+ def ruby?
+ false
+ end
+
+
+Literal Includes
+----------------
+
+.. literalinclude:: literal.inc
+ :class: bar baz
+ :name: literal_include
diff --git a/tests/roots/test-directive-code/conf.py b/tests/roots/test-directive-code/conf.py
new file mode 100644
index 0000000..f1e3a2c
--- /dev/null
+++ b/tests/roots/test-directive-code/conf.py
@@ -0,0 +1,2 @@
+exclude_patterns = ['_build']
+numfig = True
diff --git a/tests/roots/test-directive-code/dedent.rst b/tests/roots/test-directive-code/dedent.rst
new file mode 100644
index 0000000..f36e3e3
--- /dev/null
+++ b/tests/roots/test-directive-code/dedent.rst
@@ -0,0 +1,64 @@
+dedent option
+-------------
+
+.. code-block::
+
+ First line
+ Second line
+ Third line
+ Fourth line
+
+ReST has no fixed indent and only a change in indention is significant not the amount [1]_.
+Thus, the following code inside the code block is not indent even it looks so with respect to the previous block.
+
+.. code-block::
+
+ First line
+ Second line
+ Third line
+ Fourth line
+
+Having an option "fixates" the indent to be 3 spaces, thus the code inside the code block is indented by 4 spaces.
+
+.. code-block::
+ :class: dummy
+
+ First line
+ Second line
+ Third line
+ Fourth line
+
+The code has 6 spaces indent, minus 4 spaces dedent should yield a 2 space indented code in the output.
+
+.. code-block::
+ :dedent: 4
+
+ First line
+ Second line
+ Third line
+ Fourth line
+
+Dedenting by zero, should not strip any spaces and be a no-op.
+
+.. note::
+ This can be used as an alternative to ``:class: dummy`` above, to fixate the ReST indention of the block.
+
+.. code-block::
+ :dedent: 0
+
+ First line
+ Second line
+ Third line
+ Fourth line
+
+Dedent without argument should autostrip common whitespace at the beginning.
+
+.. code-block::
+ :dedent:
+
+ First line
+ Second line
+ Third line
+ Fourth line
+
+.. [1] https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#indentation
diff --git a/tests/roots/test-directive-code/emphasize.rst b/tests/roots/test-directive-code/emphasize.rst
new file mode 100644
index 0000000..95db574
--- /dev/null
+++ b/tests/roots/test-directive-code/emphasize.rst
@@ -0,0 +1,7 @@
+Literal Includes with Highlighted Lines
+=======================================
+
+.. literalinclude:: target.py
+ :language: python
+ :emphasize-lines: 5-6, 13-15, 24-
+
diff --git a/tests/roots/test-directive-code/empty.inc b/tests/roots/test-directive-code/empty.inc
new file mode 100644
index 0000000..b28b04f
--- /dev/null
+++ b/tests/roots/test-directive-code/empty.inc
@@ -0,0 +1,3 @@
+
+
+
diff --git a/tests/roots/test-directive-code/error.inc b/tests/roots/test-directive-code/error.inc
new file mode 100644
index 0000000..4728280
--- /dev/null
+++ b/tests/roots/test-directive-code/error.inc
@@ -0,0 +1 @@
+not a python script!
diff --git a/tests/roots/test-directive-code/force.rst b/tests/roots/test-directive-code/force.rst
new file mode 100644
index 0000000..1834b3a
--- /dev/null
+++ b/tests/roots/test-directive-code/force.rst
@@ -0,0 +1,16 @@
+force option
+============
+
+.. code:: python
+ :force:
+
+ not a python script!
+
+.. code-block:: python
+ :force:
+
+ not a python script!
+
+.. literalinclude:: error.inc
+ :language: python
+ :force:
diff --git a/tests/roots/test-directive-code/highlight.rst b/tests/roots/test-directive-code/highlight.rst
new file mode 100644
index 0000000..4191b58
--- /dev/null
+++ b/tests/roots/test-directive-code/highlight.rst
@@ -0,0 +1,20 @@
+highlight
+---------
+
+.. code-block::
+
+ "A code-block without no language"
+
+.. code-block:: python2
+
+ "A code-block with language argument"
+
+.. highlight:: python3
+
+.. code-block::
+
+ "A code-block without no language after highlight directive"
+
+.. code-block:: python2
+
+ "A code-block without language argument after highlight directive"
diff --git a/tests/roots/test-directive-code/index.rst b/tests/roots/test-directive-code/index.rst
new file mode 100644
index 0000000..dab6b70
--- /dev/null
+++ b/tests/roots/test-directive-code/index.rst
@@ -0,0 +1,25 @@
+test-directive-code
+===================
+
+.. toctree::
+ :glob:
+
+ *
+
+
+Code blocks
+-----------
+
+.. code-block:: ruby
+ :linenos:
+
+ def ruby?
+ false
+ end
+
+
+Literal Includes
+----------------
+
+.. literalinclude:: literal.inc
+ :language: python
diff --git a/tests/roots/test-directive-code/linenos.rst b/tests/roots/test-directive-code/linenos.rst
new file mode 100644
index 0000000..a8e5b69
--- /dev/null
+++ b/tests/roots/test-directive-code/linenos.rst
@@ -0,0 +1,18 @@
+Literal Includes with Line Numbers
+==================================
+
+.. literalinclude:: literal.inc
+ :language: python
+ :linenos:
+
+.. literalinclude:: literal.inc
+ :language: python
+ :lineno-start: 200
+
+.. literalinclude:: literal.inc
+ :language: python
+ :lines: 5-9
+ :lineno-match:
+
+.. literalinclude:: empty.inc
+ :lineno-match:
diff --git a/tests/roots/test-directive-code/linenothreshold.rst b/tests/roots/test-directive-code/linenothreshold.rst
new file mode 100644
index 0000000..09ee67e
--- /dev/null
+++ b/tests/roots/test-directive-code/linenothreshold.rst
@@ -0,0 +1,23 @@
+Code Blocks and Literal Includes with Line Numbers via linenothreshold
+======================================================================
+
+.. highlight:: python
+ :linenothreshold: 5
+
+.. code-block::
+
+ class Foo:
+ pass
+
+ class Bar:
+ def baz():
+ pass
+
+.. code-block::
+
+ # comment
+ value = True
+
+.. literalinclude:: literal.inc
+
+.. literalinclude:: literal-short.inc
diff --git a/tests/roots/test-directive-code/literal-diff.inc b/tests/roots/test-directive-code/literal-diff.inc
new file mode 100644
index 0000000..f9c21e3
--- /dev/null
+++ b/tests/roots/test-directive-code/literal-diff.inc
@@ -0,0 +1,13 @@
+# Literally included file using Python highlighting
+
+foo = "Including Unicode characters: üöä"
+
+class Foo:
+ pass
+
+class Bar:
+ def baz(self):
+ pass
+
+# comment after Bar class
+def bar(): pass
diff --git a/tests/roots/test-directive-code/literal-short.inc b/tests/roots/test-directive-code/literal-short.inc
new file mode 100644
index 0000000..7a07a3f
--- /dev/null
+++ b/tests/roots/test-directive-code/literal-short.inc
@@ -0,0 +1,3 @@
+# Very small literal include (linenothreshold check)
+
+value = True
diff --git a/tests/roots/test-directive-code/literal.inc b/tests/roots/test-directive-code/literal.inc
new file mode 100644
index 0000000..fa8f0ca
--- /dev/null
+++ b/tests/roots/test-directive-code/literal.inc
@@ -0,0 +1,13 @@
+# Literally included file using Python highlighting
+
+foo = "Including Unicode characters: üöä"
+
+class Foo:
+ pass
+
+class Bar:
+ def baz():
+ pass
+
+# comment after Bar class definition
+def bar(): pass
diff --git a/tests/roots/test-directive-code/namedblocks.rst b/tests/roots/test-directive-code/namedblocks.rst
new file mode 100644
index 0000000..5779bc9
--- /dev/null
+++ b/tests/roots/test-directive-code/namedblocks.rst
@@ -0,0 +1,28 @@
+Named Blocks
+============
+
+References to named blocks
+--------------------------
+
+See :ref:`the ruby code <some ruby code>` and
+also :ref:`the python code <some python code>`.
+
+
+Named Code block
+----------------
+
+.. code-block:: ruby
+ :name: some ruby code
+
+ def ruby?
+ false
+ end
+
+
+Named Literal Include
+---------------------
+
+.. literalinclude:: literal.inc
+ :language: python
+ :name: some python code
+
diff --git a/tests/roots/test-directive-code/py-decorators.inc b/tests/roots/test-directive-code/py-decorators.inc
new file mode 100644
index 0000000..012d5d5
--- /dev/null
+++ b/tests/roots/test-directive-code/py-decorators.inc
@@ -0,0 +1,15 @@
+# Literally included file using Python highlighting
+
+@class_decorator
+@other_decorator()
+class TheClass(object):
+
+ @method_decorator
+ @other_decorator()
+ def the_method():
+ pass
+
+@function_decorator
+@other_decorator()
+def the_function():
+ pass
diff --git a/tests/roots/test-directive-code/py-decorators.rst b/tests/roots/test-directive-code/py-decorators.rst
new file mode 100644
index 0000000..31417f5
--- /dev/null
+++ b/tests/roots/test-directive-code/py-decorators.rst
@@ -0,0 +1,17 @@
+py-decorators
+=============
+
+Various decorators
+------------------
+
+.. literalinclude:: py-decorators.inc
+ :name: literal_include_pydecorators_1
+ :pyobject: TheClass
+
+.. literalinclude:: py-decorators.inc
+ :name: literal_include_pydecorators_2
+ :pyobject: TheClass.the_method
+
+.. literalinclude:: py-decorators.inc
+ :name: literal_include_pydecorators_3
+ :pyobject: the_function
diff --git a/tests/roots/test-directive-code/python.rst b/tests/roots/test-directive-code/python.rst
new file mode 100644
index 0000000..794c190
--- /dev/null
+++ b/tests/roots/test-directive-code/python.rst
@@ -0,0 +1,13 @@
+===========================
+Literal Includes for python
+===========================
+
+block start with blank or comment
+=================================
+
+.. literalinclude:: target.py
+ :pyobject: block_start_with_comment
+
+.. literalinclude:: target.py
+ :pyobject: block_start_with_blank
+
diff --git a/tests/roots/test-directive-code/target.py b/tests/roots/test-directive-code/target.py
new file mode 100644
index 0000000..b95dffb
--- /dev/null
+++ b/tests/roots/test-directive-code/target.py
@@ -0,0 +1,26 @@
+# Literally included file using Python highlighting
+
+foo = "Including Unicode characters: üöä"
+
+class Foo:
+ pass
+
+class Bar:
+ def baz():
+ pass
+
+# comment after Bar class definition
+def bar(): pass
+
+def block_start_with_comment():
+ # Comment
+ return 1
+
+def block_start_with_blank():
+
+ return 1
+
+
+class Qux:
+ def quux(self):
+ pass