blob: 700f95a64624094f84c6904919012b3f65169e08 [file] [log] [blame]
from clang.cindex import TokenKind
import unittest
class TestTokenKind(unittest.TestCase):
def test_constructor(self):
"""Ensure TokenKind constructor works as expected."""
t = TokenKind(5, 'foo')
self.assertEqual(t.value, 5)
self.assertEqual(t.name, 'foo')
def test_bad_register(self):
"""Ensure a duplicate value is rejected for registration."""
with self.assertRaises(ValueError):
TokenKind.register(2, 'foo')
def test_unknown_value(self):
"""Ensure trying to fetch an unknown value raises."""
with self.assertRaises(ValueError):
TokenKind.from_value(-1)
def test_registration(self):
"""Ensure that items registered appear as class attributes."""
self.assertTrue(hasattr(TokenKind, 'LITERAL'))
literal = TokenKind.LITERAL
self.assertIsInstance(literal, TokenKind)
def test_from_value(self):
"""Ensure registered values can be obtained from from_value()."""
t = TokenKind.from_value(3)
self.assertIsInstance(t, TokenKind)
self.assertEqual(t, TokenKind.LITERAL)
def test_repr(self):
"""Ensure repr() works."""
r = repr(TokenKind.LITERAL)
self.assertEqual(r, 'TokenKind.LITERAL')