| from clang.cindex import TokenKind |
| from nose.tools import eq_ |
| from nose.tools import ok_ |
| from nose.tools import raises |
| |
| def test_constructor(): |
| """Ensure TokenKind constructor works as expected.""" |
| |
| t = TokenKind(5, 'foo') |
| |
| eq_(t.value, 5) |
| eq_(t.name, 'foo') |
| |
| @raises(ValueError) |
| def test_bad_register(): |
| """Ensure a duplicate value is rejected for registration.""" |
| |
| TokenKind.register(2, 'foo') |
| |
| @raises(ValueError) |
| def test_unknown_value(): |
| """Ensure trying to fetch an unknown value raises.""" |
| |
| TokenKind.from_value(-1) |
| |
| def test_registration(): |
| """Ensure that items registered appear as class attributes.""" |
| ok_(hasattr(TokenKind, 'LITERAL')) |
| literal = TokenKind.LITERAL |
| |
| ok_(isinstance(literal, TokenKind)) |
| |
| def test_from_value(): |
| """Ensure registered values can be obtained from from_value().""" |
| t = TokenKind.from_value(3) |
| ok_(isinstance(t, TokenKind)) |
| eq_(t, TokenKind.LITERAL) |
| |
| def test_repr(): |
| """Ensure repr() works.""" |
| |
| r = repr(TokenKind.LITERAL) |
| eq_(r, 'TokenKind.LITERAL') |