@@ -1240,14 +1240,25 @@ class TestSuppressions : public TestFixture {
12401240 }
12411241
12421242 void inlinesuppress_comment () const {
1243- SuppressionList::Suppression s;
12441243 std::string errMsg;
1245- ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc ; some comment" , &errMsg));
1246- ASSERT_EQUALS (" " , errMsg);
1247- ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc // some comment" , &errMsg));
1248- ASSERT_EQUALS (" " , errMsg);
1249- ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc -- some comment" , &errMsg));
1250- ASSERT_EQUALS (" " , errMsg);
1244+ {
1245+ SuppressionList::Suppression s;
1246+ ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc ; some comment // extra stuff" , &errMsg));
1247+ ASSERT_EQUALS (" " , errMsg);
1248+ ASSERT_EQUALS (" some comment // extra stuff" , s.extraComment );
1249+ }
1250+ {
1251+ SuppressionList::Suppression s;
1252+ ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc // some comment ; extra stuff" , &errMsg));
1253+ ASSERT_EQUALS (" " , errMsg);
1254+ ASSERT_EQUALS (" some comment ; extra stuff" , s.extraComment );
1255+ }
1256+ {
1257+ SuppressionList::Suppression s;
1258+ ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc -- some comment" , &errMsg));
1259+ ASSERT_EQUALS (" " , errMsg);
1260+ ASSERT_EQUALS (" " , s.extraComment );
1261+ }
12511262 }
12521263
12531264 // TODO: tests internal function - should it be private?
@@ -1416,6 +1427,20 @@ class TestSuppressions : public TestFixture {
14161427 ASSERT_EQUALS (true , errMsg.empty ());
14171428 ASSERT_EQUALS (" extra comment" , suppressions[0 ].extraComment );
14181429 ASSERT_EQUALS (" extra comment" , suppressions[1 ].extraComment );
1430+
1431+ errMsg = " " ;
1432+ suppressions=SuppressionList::parseMultiSuppressComment (" /*cppcheck-suppress[errorId1, errorId2 symbolName=arr] ; extra comment // more */" , &errMsg);
1433+ ASSERT_EQUALS (2 , suppressions.size ());
1434+ ASSERT_EQUALS (true , errMsg.empty ());
1435+ ASSERT_EQUALS (" extra comment // more" , suppressions[0 ].extraComment );
1436+ ASSERT_EQUALS (" extra comment // more" , suppressions[1 ].extraComment );
1437+
1438+ errMsg = " " ;
1439+ suppressions=SuppressionList::parseMultiSuppressComment (" /*cppcheck-suppress[errorId1, errorId2 symbolName=arr] // extra comment ; more */" , &errMsg);
1440+ ASSERT_EQUALS (2 , suppressions.size ());
1441+ ASSERT_EQUALS (true , errMsg.empty ());
1442+ ASSERT_EQUALS (" extra comment ; more" , suppressions[0 ].extraComment );
1443+ ASSERT_EQUALS (" extra comment ; more" , suppressions[1 ].extraComment );
14191444 }
14201445
14211446 void globalSuppressions () { // Testing that Cppcheck::useGlobalSuppressions works (#8515)
0 commit comments