Skip to content

Commit 8db25ed

Browse files
committed
add test
1 parent 8c14fc7 commit 8db25ed

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

test/testsymboldatabase.cpp

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ class TestSymbolDatabase : public TestFixture {
220220
TEST_CASE(VariableValueType4); // smart pointer type
221221
TEST_CASE(VariableValueType5); // smart pointer type
222222
TEST_CASE(VariableValueType6); // smart pointer type
223+
TEST_CASE(VariableValueType7);
223224
TEST_CASE(VariableValueTypeReferences);
224225
TEST_CASE(VariableValueTypeTemplate);
225226

@@ -1315,6 +1316,36 @@ class TestSymbolDatabase : public TestFixture {
13151316
ASSERT(check->valueType()->smartPointerTypeToken);
13161317
}
13171318

1319+
void VariableValueType7() {
1320+
GET_SYMBOL_DB("void f() {\n"
1321+
" auto x0 = 0;\n"
1322+
" auto &x1 = x0;\n"
1323+
" auto &x2 {x0};\n"
1324+
" auto &&x3 = 0;\n"
1325+
" auto &&x4 {0};\n"
1326+
"}\n");
1327+
1328+
const Token* x1 = Token::findsimplematch(tokenizer.tokens(), "x1");
1329+
const Token* x2 = Token::findsimplematch(tokenizer.tokens(), "x2");
1330+
const Token* x3 = Token::findsimplematch(tokenizer.tokens(), "x3");
1331+
const Token* x4 = Token::findsimplematch(tokenizer.tokens(), "x4");
1332+
1333+
ASSERT(x1);
1334+
ASSERT(x2);
1335+
ASSERT(x3);
1336+
ASSERT(x4);
1337+
1338+
ASSERT_EQUALS_ENUM(ValueType::INT, x1->valueType()->type);
1339+
ASSERT_EQUALS_ENUM(ValueType::INT, x2->valueType()->type);
1340+
ASSERT_EQUALS_ENUM(ValueType::INT, x3->valueType()->type);
1341+
ASSERT_EQUALS_ENUM(ValueType::INT, x4->valueType()->type);
1342+
1343+
ASSERT_EQUALS_ENUM(Reference::LValue, x1->valueType()->reference);
1344+
ASSERT_EQUALS_ENUM(Reference::LValue, x2->valueType()->reference);
1345+
ASSERT_EQUALS_ENUM(Reference::RValue, x3->valueType()->reference);
1346+
ASSERT_EQUALS_ENUM(Reference::RValue, x4->valueType()->reference);
1347+
}
1348+
13181349
void VariableValueTypeReferences() {
13191350
{
13201351
GET_SYMBOL_DB("void foo(int x) {}\n");

0 commit comments

Comments
 (0)