blob: 2f056d51402e1e2c8a2806c3949bf2a97dd6e4ec [file] [log] [blame]
from clang.cindex import LinkageKind
from clang.cindex import Cursor
from clang.cindex import TranslationUnit
from .util import get_cursor
from .util import get_tu
def test_linkage():
"""Ensure that linkage specifers are available on cursors"""
tu = get_tu("""
void foo() { int no_linkage; }
static int internal;
namespace { extern int unique_external; }
extern int external;
""", lang = 'cpp')
no_linkage = get_cursor(tu.cursor, 'no_linkage')
assert no_linkage.linkage == LinkageKind.NO_LINKAGE;
internal = get_cursor(tu.cursor, 'internal')
assert internal.linkage == LinkageKind.INTERNAL
unique_external = get_cursor(tu.cursor, 'unique_external')
assert unique_external.linkage == LinkageKind.UNIQUE_EXTERNAL
external = get_cursor(tu.cursor, 'external')
assert external.linkage == LinkageKind.EXTERNAL