Home | History | Annotate | Download | only in cindex
      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 
      6 def test_constructor():
      7     """Ensure TokenKind constructor works as expected."""
      8 
      9     t = TokenKind(5, 'foo')
     10 
     11     eq_(t.value, 5)
     12     eq_(t.name, 'foo')
     13 
     14 @raises(ValueError)
     15 def test_bad_register():
     16     """Ensure a duplicate value is rejected for registration."""
     17 
     18     TokenKind.register(2, 'foo')
     19 
     20 @raises(ValueError)
     21 def test_unknown_value():
     22     """Ensure trying to fetch an unknown value raises."""
     23 
     24     TokenKind.from_value(-1)
     25 
     26 def test_registration():
     27     """Ensure that items registered appear as class attributes."""
     28     ok_(hasattr(TokenKind, 'LITERAL'))
     29     literal = TokenKind.LITERAL
     30 
     31     ok_(isinstance(literal, TokenKind))
     32 
     33 def test_from_value():
     34     """Ensure registered values can be obtained from from_value()."""
     35     t = TokenKind.from_value(3)
     36     ok_(isinstance(t, TokenKind))
     37     eq_(t, TokenKind.LITERAL)
     38 
     39 def test_repr():
     40     """Ensure repr() works."""
     41 
     42     r = repr(TokenKind.LITERAL)
     43     eq_(r, 'TokenKind.LITERAL')
     44