@@ -120,28 +120,54 @@ class TestToken : public TestFixture {
120120
121121 void multiCompare () {
122122 // Test for found
123- ASSERT_EQUALS (1 , Token::multiCompare (" one|two" , " one" ));
124- ASSERT_EQUALS (1 , Token::multiCompare (" one|two" , " two" ));
125- ASSERT_EQUALS (1 , Token::multiCompare (" verybig|two|" , " two" ));
123+ Token *one = new Token (0 );
124+ one->str (" one" );
125+ ASSERT_EQUALS (1 , Token::multiCompare (one, " one|two" , " one" ));
126+
127+ Token *two = new Token (0 );
128+ two->str (" two" );
129+ ASSERT_EQUALS (1 , Token::multiCompare (two, " one|two" , " two" ));
130+ ASSERT_EQUALS (1 , Token::multiCompare (two, " verybig|two|" , " two" ));
126131
127132 // Test for empty string found
128- ASSERT_EQUALS (0 , Token::multiCompare (" |one|two" , " notfound" ));
129- ASSERT_EQUALS (0 , Token::multiCompare (" one||two" , " notfound" ));
130- ASSERT_EQUALS (0 , Token::multiCompare (" one|two|" , " notfound" ));
133+ Token *notfound = new Token (0 );
134+ notfound->str (" notfound" );
135+ ASSERT_EQUALS (0 , Token::multiCompare (notfound, " |one|two" , " notfound" ));
136+ ASSERT_EQUALS (0 , Token::multiCompare (notfound, " one||two" , " notfound" ));
137+ ASSERT_EQUALS (0 , Token::multiCompare (notfound, " one|two|" , " notfound" ));
131138
132139 // Test for not found
133- ASSERT_EQUALS (static_cast <unsigned int >(-1 ), static_cast <unsigned int >(Token::multiCompare (" one|two" , " notfound" )));
134- ASSERT_EQUALS (static_cast <unsigned int >(-1 ), static_cast <unsigned int >(Token::multiCompare (" verybig|two" , " s" )));
135- ASSERT_EQUALS (static_cast <unsigned int >(-1 ), static_cast <unsigned int >(Token::multiCompare (" one|two" , " ne" )));
136- ASSERT_EQUALS (static_cast <unsigned int >(-1 ), static_cast <unsigned int >(Token::multiCompare (" abc|def" , " a" )));
137- ASSERT_EQUALS (static_cast <unsigned int >(-1 ), static_cast <unsigned int >(Token::multiCompare (" abc|def" , " abcd" )));
138- ASSERT_EQUALS (static_cast <unsigned int >(-1 ), static_cast <unsigned int >(Token::multiCompare (" abc|def" , " default" )));
140+ ASSERT_EQUALS (static_cast <unsigned int >(-1 ), static_cast <unsigned int >(Token::multiCompare (notfound, " one|two" , " notfound" )));
141+
142+ Token *s = new Token (0 );
143+ s->str (" s" );
144+ ASSERT_EQUALS (static_cast <unsigned int >(-1 ), static_cast <unsigned int >(Token::multiCompare (s, " verybig|two" , " s" )));
145+
146+ Token *ne = new Token (0 );
147+ ne->str (" ne" );
148+ ASSERT_EQUALS (static_cast <unsigned int >(-1 ), static_cast <unsigned int >(Token::multiCompare (ne, " one|two" , " ne" )));
149+
150+ Token *a = new Token (0 );
151+ a->str (" a" );
152+ ASSERT_EQUALS (static_cast <unsigned int >(-1 ), static_cast <unsigned int >(Token::multiCompare (a, " abc|def" , " a" )));
153+
154+ Token *abcd = new Token (0 );
155+ abcd->str (" abcd" );
156+ ASSERT_EQUALS (static_cast <unsigned int >(-1 ), static_cast <unsigned int >(Token::multiCompare (abcd, " abc|def" , " abcd" )));
157+
158+ Token *def = new Token (0 );
159+ def->str (" default" );
160+ ASSERT_EQUALS (static_cast <unsigned int >(-1 ), static_cast <unsigned int >(Token::multiCompare (def, " abc|def" , " default" )));
139161
140162 // %op%
141- ASSERT_EQUALS (1 , Token::multiCompare (" one|%op%" , " +" ));
142- ASSERT_EQUALS (1 , Token::multiCompare (" %op%|two" , " +" ));
143- ASSERT_EQUALS (-1 , Token::multiCompare (" one|%op%" , " x" ));
144- ASSERT_EQUALS (-1 , Token::multiCompare (" %op%|two" , " x" ));
163+ Token *plus = new Token (0 );
164+ plus->str (" +" );
165+ ASSERT_EQUALS (1 , Token::multiCompare (plus, " one|%op%" , " +" ));
166+ ASSERT_EQUALS (1 , Token::multiCompare (plus, " %op%|two" , " +" ));
167+ Token *x = new Token (0 );
168+ x->str (" x" );
169+ ASSERT_EQUALS (-1 , Token::multiCompare (x, " one|%op%" , " x" ));
170+ ASSERT_EQUALS (-1 , Token::multiCompare (x, " %op%|two" , " x" ));
145171 }
146172
147173 void multiCompare2 () { // #3294
@@ -209,7 +235,8 @@ class TestToken : public TestFixture {
209235 ASSERT_EQUALS (Token::eBracket, var.tokens ()->tokAt (5 )->type ());
210236
211237 ASSERT_EQUALS (false , Token::Match (var.tokens (), " std :: queue %op%" ));
212- TODO_ASSERT_EQUALS (false , true , Token::Match (var.tokens (), " std :: queue x|%op%" ));
238+ ASSERT_EQUALS (false , Token::Match (var.tokens (), " std :: queue x|%op%" ));
239+ ASSERT_EQUALS (false , Token::Match (var.tokens (), " std :: queue %op%|x" ));
213240 }
214241
215242 void getStrLength () {
0 commit comments