summaryrefslogtreecommitdiffstats
path: root/tests/test_devicetree_lexer.py
blob: e3aeb4d43c1f41fb948f0f29c38409a366c820b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
"""
    Devicetree Lexer Tests
    ~~~~~~~~~~~~~~~~~~~~~~

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
"""

import pytest

from pygments.lexers.devicetree import DevicetreeLexer
from pygments.token import Token


@pytest.fixture(scope="module")
def lexer():
    yield DevicetreeLexer()


@pytest.mark.parametrize(
    "fragment",
    (
        'nodelabel: node@0 { foo = "bar"; };',
        'nodelabel: node { foo = "bar"; };',
        'nodelabel0: nodelabel1: node@0 { foo = "bar"; };',
    ),
)
def test_fragment_out_of_root_node(lexer, fragment):
    """Validate that a devicetree fragment out of a root node is parsed correctly."""

    tokens = list(lexer.get_tokens(fragment))
    assert all(x[0] != Token.Error for x in tokens)