mirror of
				https://github.com/sphinx-doc/sphinx.git
				synced 2025-02-25 18:55:22 -06:00 
			
		
		
		
	
		
			
	
	
		
			55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								"""
							 | 
						||
| 
								 | 
							
								    test_directive_patch
							 | 
						||
| 
								 | 
							
								    ~~~~~~~~~~~~~~~~~~~
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    Test the patched directives.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
							 | 
						||
| 
								 | 
							
								    :license: BSD, see LICENSE for details.
							 | 
						||
| 
								 | 
							
								"""
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from docutils import nodes
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from sphinx.testing import restructuredtext
							 | 
						||
| 
								 | 
							
								from sphinx.testing.util import assert_node
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def test_code_directive(app):
							 | 
						||
| 
								 | 
							
								    # normal case
							 | 
						||
| 
								 | 
							
								    text = ('.. code::\n'
							 | 
						||
| 
								 | 
							
								            '\n'
							 | 
						||
| 
								 | 
							
								            '   print("hello world")\n')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    doctree = restructuredtext.parse(app, text)
							 | 
						||
| 
								 | 
							
								    assert_node(doctree, [nodes.document, nodes.literal_block, 'print("hello world")'])
							 | 
						||
| 
								 | 
							
								    assert_node(doctree[0], language="default", highlight_args={})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # with language
							 | 
						||
| 
								 | 
							
								    text = ('.. code:: python\n'
							 | 
						||
| 
								 | 
							
								            '\n'
							 | 
						||
| 
								 | 
							
								            '   print("hello world")\n')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    doctree = restructuredtext.parse(app, text)
							 | 
						||
| 
								 | 
							
								    assert_node(doctree, [nodes.document, nodes.literal_block, 'print("hello world")'])
							 | 
						||
| 
								 | 
							
								    assert_node(doctree[0], language="python", highlight_args={})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # :number-lines: option
							 | 
						||
| 
								 | 
							
								    text = ('.. code:: python\n'
							 | 
						||
| 
								 | 
							
								            '   :number-lines:\n'
							 | 
						||
| 
								 | 
							
								            '\n'
							 | 
						||
| 
								 | 
							
								            '   print("hello world")\n')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    doctree = restructuredtext.parse(app, text)
							 | 
						||
| 
								 | 
							
								    assert_node(doctree, [nodes.document, nodes.literal_block, 'print("hello world")'])
							 | 
						||
| 
								 | 
							
								    assert_node(doctree[0], language="python", linenos=True, highlight_args={})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # :number-lines: option
							 | 
						||
| 
								 | 
							
								    text = ('.. code:: python\n'
							 | 
						||
| 
								 | 
							
								            '   :number-lines: 5\n'
							 | 
						||
| 
								 | 
							
								            '\n'
							 | 
						||
| 
								 | 
							
								            '   print("hello world")\n')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    doctree = restructuredtext.parse(app, text)
							 | 
						||
| 
								 | 
							
								    assert_node(doctree, [nodes.document, nodes.literal_block, 'print("hello world")'])
							 | 
						||
| 
								 | 
							
								    assert_node(doctree[0], language="python", linenos=True, highlight_args={'linenostart': 5})
							 |