| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- from clang.cindex import CursorKind
- from clang.cindex import Index
- from clang.cindex import SourceLocation
- from clang.cindex import SourceRange
- from clang.cindex import TokenKind
- from nose.tools import eq_
- from nose.tools import ok_
- from .util import get_tu
- def test_token_to_cursor():
- """Ensure we can obtain a Cursor from a Token instance."""
- tu = get_tu('int i = 5;')
- r = tu.get_extent('t.c', (0, 9))
- tokens = list(tu.get_tokens(extent=r))
- assert len(tokens) == 5
- assert tokens[1].spelling == 'i'
- assert tokens[1].kind == TokenKind.IDENTIFIER
- cursor = tokens[1].cursor
- assert cursor.kind == CursorKind.VAR_DECL
- assert tokens[1].cursor == tokens[2].cursor
- def test_token_location():
- """Ensure Token.location works."""
- tu = get_tu('int foo = 10;')
- r = tu.get_extent('t.c', (0, 11))
- tokens = list(tu.get_tokens(extent=r))
- eq_(len(tokens), 4)
- loc = tokens[1].location
- ok_(isinstance(loc, SourceLocation))
- eq_(loc.line, 1)
- eq_(loc.column, 5)
- eq_(loc.offset, 4)
- def test_token_extent():
- """Ensure Token.extent works."""
- tu = get_tu('int foo = 10;')
- r = tu.get_extent('t.c', (0, 11))
- tokens = list(tu.get_tokens(extent=r))
- eq_(len(tokens), 4)
- extent = tokens[1].extent
- ok_(isinstance(extent, SourceRange))
- eq_(extent.start.offset, 4)
- eq_(extent.end.offset, 7)
|