@@ -55,6 +55,7 @@ class TestCppcheck : public TestFixture {
5555 TEST_CASE (checkWithFS);
5656 TEST_CASE (suppress_error_library);
5757 TEST_CASE (unique_errors);
58+ TEST_CASE (isPremiumCodingStandardId);
5859 }
5960
6061 void getErrorMessages () const {
@@ -180,6 +181,31 @@ class TestCppcheck : public TestFixture {
180181 ASSERT_EQUALS (" nullPointer" , it->id );
181182 }
182183
184+ void isPremiumCodingStandardId () const {
185+ ErrorLogger2 errorLogger;
186+ CppCheck cppcheck (errorLogger, false , {});
187+
188+ cppcheck.settings ().premiumArgs = " " ;
189+ ASSERT_EQUALS (false , cppcheck.isPremiumCodingStandardId (" misra-c2012-0.0" ));
190+ ASSERT_EQUALS (false , cppcheck.isPremiumCodingStandardId (" misra-c2023-0.0" ));
191+ ASSERT_EQUALS (false , cppcheck.isPremiumCodingStandardId (" premium-misra-c2012-0.0" ));
192+ ASSERT_EQUALS (false , cppcheck.isPremiumCodingStandardId (" premium-misra-c2023-0.0" ));
193+ ASSERT_EQUALS (false , cppcheck.isPremiumCodingStandardId (" premium-misra-c++2008-0.0.0" ));
194+ ASSERT_EQUALS (false , cppcheck.isPremiumCodingStandardId (" premium-misra-c++2023-0.0.0" ));
195+ ASSERT_EQUALS (false , cppcheck.isPremiumCodingStandardId (" premium-cert-int50-cpp" ));
196+ ASSERT_EQUALS (false , cppcheck.isPremiumCodingStandardId (" premium-autosar-0-0-0" ));
197+
198+ cppcheck.settings ().premiumArgs = " --misra-c-2012 --cert-c++-2016 --autosar" ;
199+ ASSERT_EQUALS (true , cppcheck.isPremiumCodingStandardId (" misra-c2012-0.0" ));
200+ ASSERT_EQUALS (true , cppcheck.isPremiumCodingStandardId (" misra-c2023-0.0" ));
201+ ASSERT_EQUALS (true , cppcheck.isPremiumCodingStandardId (" premium-misra-c2012-0.0" ));
202+ ASSERT_EQUALS (true , cppcheck.isPremiumCodingStandardId (" premium-misra-c2023-0.0" ));
203+ ASSERT_EQUALS (true , cppcheck.isPremiumCodingStandardId (" premium-misra-c++2008-0.0.0" ));
204+ ASSERT_EQUALS (true , cppcheck.isPremiumCodingStandardId (" premium-misra-c++2023-0.0.0" ));
205+ ASSERT_EQUALS (true , cppcheck.isPremiumCodingStandardId (" premium-cert-int50-cpp" ));
206+ ASSERT_EQUALS (true , cppcheck.isPremiumCodingStandardId (" premium-autosar-0-0-0" ));
207+ }
208+
183209 // TODO: test suppressions
184210 // TODO: test all with FS
185211};
0 commit comments