Skip to content

Commit ae738f0

Browse files
committed
add test
1 parent f9bce0f commit ae738f0

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

test/testsimplifytypedef.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ class TestSimplifyTypedef : public TestFixture {
255255

256256
TEST_CASE(simplifyTypedefOriginalName1);
257257
TEST_CASE(simplifyTypedefOriginalName2);
258+
TEST_CASE(simplifyTypedefOriginalName3);
258259

259260
TEST_CASE(simplifyTypedefTokenColumn1);
260261
TEST_CASE(simplifyTypedefTokenColumn2);
@@ -4594,6 +4595,27 @@ class TestSimplifyTypedef : public TestFixture {
45944595
ASSERT_EQUALS("A", token->originalName());
45954596
}
45964597

4598+
void simplifyTypedefOriginalName3() {
4599+
const char code[] = "void f(void) {\n"
4600+
" typedef int A;\n"
4601+
" A a;\n"
4602+
"}\n";
4603+
TokenList tokenlist{ settings1, Standards::Language::C };
4604+
ASSERT(TokenListHelper::createTokensFromString(tokenlist, code, "file.c"));
4605+
TokenizerTest tokenizer(std::move(tokenlist), *this);
4606+
tokenizer.createLinks();
4607+
tokenizer.simplifyTypedef();
4608+
4609+
try {
4610+
tokenizer.validate();
4611+
}
4612+
catch (const InternalError&) {
4613+
ASSERT_EQUALS_MSG(false, true, "Validation of Tokenizer failed");
4614+
}
4615+
const Token* token = Token::findsimplematch(tokenizer.list.front(), "int");
4616+
ASSERT_EQUALS("A", token->originalName());
4617+
}
4618+
45974619
void simplifyTypedefTokenColumn1() { // #13155
45984620
const char code[] = "void foo(void) {\n"
45994621
" typedef signed int MY_INT;\n"

0 commit comments

Comments
 (0)