@@ -506,6 +506,10 @@ class TestTokenizer : public TestFixture {
506506 TEST_CASE (dumpFallthrough);
507507
508508 TEST_CASE (simplifyRedundantParentheses);
509+
510+ TEST_CASE (simplifyEnum1);
511+
512+ TEST_CASE (simplifyEnum2);
509513 }
510514
511515 class TokenizerTest : public Tokenizer
@@ -8810,6 +8814,30 @@ class TestTokenizer : public TestFixture {
88108814 SimpleTokenizer tokenizer (settingsDefault, *this , false );
88118815 ASSERT_NO_THROW (tokenizer.tokenize (code));
88128816 }
8817+
8818+ void simplifyEnum1 () {
8819+ const char code[] = " static enum {A,B} ab;" ;
8820+ ASSERT_EQUALS (" enum Anonymous0 { A , B } ; static enum Anonymous0 ab ;" , tokenizeAndStringify (code));
8821+ SimpleTokenizer tokenizer (settingsDefault, *this );
8822+ tokenizer.tokenize (code);
8823+ const Token* tok = Token::findsimplematch (tokenizer.tokens (), " static" );
8824+ ASSERT (tok);
8825+ ASSERT_EQUALS (tok->column (), 1 );
8826+ ASSERT_EQUALS (tok->next ()->column (), 8 );
8827+ ASSERT_EQUALS (tok->tokAt (2 )->column (), 0 );
8828+ }
8829+
8830+ void simplifyEnum2 () {
8831+ const char code[] = " enum static E {A,B} ab;" ;
8832+ ASSERT_EQUALS (" enum E { A , B } ; static enum E ab ;" , tokenizeAndStringify (code));
8833+ SimpleTokenizer tokenizer (settingsDefault, *this );
8834+ tokenizer.tokenize (code);
8835+ const Token* tok = Token::findsimplematch (tokenizer.tokens (), " static" );
8836+ ASSERT (tok);
8837+ ASSERT_EQUALS (tok->column (), 0 );
8838+ ASSERT_EQUALS (tok->next ()->column (), 1 );
8839+ ASSERT_EQUALS (tok->tokAt (2 )->column (), 13 );
8840+ }
88138841};
88148842
88158843REGISTER_TEST (TestTokenizer)
0 commit comments