test_token_kind.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from clang.cindex import TokenKind
  2. from nose.tools import eq_
  3. from nose.tools import ok_
  4. from nose.tools import raises
  5. def test_constructor():
  6. """Ensure TokenKind constructor works as expected."""
  7. t = TokenKind(5, 'foo')
  8. eq_(t.value, 5)
  9. eq_(t.name, 'foo')
  10. @raises(ValueError)
  11. def test_bad_register():
  12. """Ensure a duplicate value is rejected for registration."""
  13. TokenKind.register(2, 'foo')
  14. @raises(ValueError)
  15. def test_unknown_value():
  16. """Ensure trying to fetch an unknown value raises."""
  17. TokenKind.from_value(-1)
  18. def test_registration():
  19. """Ensure that items registered appear as class attributes."""
  20. ok_(hasattr(TokenKind, 'LITERAL'))
  21. literal = TokenKind.LITERAL
  22. ok_(isinstance(literal, TokenKind))
  23. def test_from_value():
  24. """Ensure registered values can be obtained from from_value()."""
  25. t = TokenKind.from_value(3)
  26. ok_(isinstance(t, TokenKind))
  27. eq_(t, TokenKind.LITERAL)
  28. def test_repr():
  29. """Ensure repr() works."""
  30. r = repr(TokenKind.LITERAL)
  31. eq_(r, 'TokenKind.LITERAL')