def test_codeblock_processes_line_classes(self):

        document = make_document(
            'testing',
            """\
Title
-----

.. code-block:: none
   :line-classes: 1(one),2-3(two-three)

   1
   2
   3

Additional Text

""",
        )
        codeblock = document.traverse(nodes.literal_block)[0]

        self.assertEqual(
            codeblock['highlight_args']['hl_lines'],
            {1: 'one',
             2: 'two-three',
             3: 'two-three',
            },
        )
    def test_codeblock_supports_emphasize_lines_functionality(self):

        document = make_document(
            'testing',
            """\
Title
-----

.. code-block:: none
   :emphasize-lines: 1-2

   1
   2
   3

Additional Text

""",
        )
        codeblock = document.traverse(nodes.literal_block)[0]

        self.assertEqual(
            codeblock['highlight_args']['hl_lines'],
            {1: 'hll',
             2: 'hll',
            },
        )
    def test_emphasize_lines_and_classes_same_line(self):

        with patch.object(self.app.env, 'note_dependency'):
            document = make_document(
                'testing',
                """\
Title
-----

.. literalinclude:: /test.py
   :emphasize-lines: 2
   :line-classes: 2(two)

Additional Text

""",
                env=self.app.env,
            )

        codeblock = document.traverse(nodes.literal_block)[0]

        self.assertEqual(
            codeblock['highlight_args']['hl_lines'],
            {2: 'hll two',
            },
        )
    def test_codeblock_supports_emphasize_lines_functionality(self):

        with patch.object(self.app.env, 'note_dependency'):
            document = make_document(
                'testing',
                """\
Title
-----

.. literalinclude:: /test.py
   :emphasize-lines: 1-2

Additional Text

""",
                env=self.app.env,
            )

        codeblock = document.traverse(nodes.literal_block)[0]

        self.assertEqual(
            codeblock['highlight_args']['hl_lines'],
            {1: 'hll',
             2: 'hll',
            },
        )
    def test_codeblock_processes_line_classes(self):

        with patch.object(self.app.env, 'note_dependency'):
            document = make_document(
                'testing',
                """\
Title
-----

.. literalinclude:: /test.py
   :line-classes: 1(one),2-3(two-three)

Additional Text

""",
                env=self.app.env,
            )

        include = document.traverse(nodes.literal_block)[0]

        self.assertEqual(
            include['highlight_args']['hl_lines'],
            {1: 'one',
             2: 'two-three',
             3: 'two-three',
            },
        )
    def test_highlight_to_end(self):

        document = make_document(
            'testing',
            """\
Title
-----

.. code-block:: none
   :line-classes: 2-(two)

   1
   2
   3

Additional Text

""",
        )

        codeblock = document.traverse(nodes.literal_block)[0]

        self.assertEqual(
            codeblock['highlight_args']['hl_lines'],
            {2: 'two',
             3: 'two',
            },
        )
    def test_emphasize_lines_and_classes_same_line(self):

        document = make_document(
            'testing',
            """\
Title
-----

.. code-block:: none
   :emphasize-lines: 2
   :line-classes: 2(two)

   1
   2
   3

Additional Text

""",
        )

        codeblock = document.traverse(nodes.literal_block)[0]

        self.assertEqual(
            codeblock['highlight_args']['hl_lines'],
            {2: 'hll two',
            },
        )