diff --git a/include/test/helper/test_strings.hpp b/include/test/helper/test_strings.hpp new file mode 100644 index 000000000..b2faf9318 --- /dev/null +++ b/include/test/helper/test_strings.hpp @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: Apache-2.0 */ + +/* + * Copyright 2020-2023 Joel E. Anderson + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +# define INVALID_NAMES "par=am", "par]am", "par\"am", "ele=ment", "element]", "El\"ment" \ No newline at end of file diff --git a/test/function/element.cpp b/test/function/element.cpp index b27244525..621fcae2d 100644 --- a/test/function/element.cpp +++ b/test/function/element.cpp @@ -23,6 +23,7 @@ #include #include "test/helper/assert.hpp" #include "test/helper/memory_allocation.hpp" +#include "test/helper/test_strings.hpp" using::testing::HasSubstr; @@ -360,18 +361,13 @@ namespace { TEST_F( ElementTest, GetParamByNameInvalidName ) { const struct stumpless_param *result; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; - result = stumpless_get_param_by_name( element_with_params, "par=am" ); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_get_param_by_name( element_with_params, "par]am" ); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_get_param_by_name( element_with_params, "par\"am" ); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + for(const char *invalid_name : invalid_names){ + result = stumpless_get_param_by_name( element_with_params, invalid_name ); + EXPECT_NULL( result ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } } TEST_F( ElementTest, GetParamCount ) { @@ -426,18 +422,13 @@ namespace { TEST_F( ElementTest, GetParamIndexInvalidName ) { size_t result; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; - result = stumpless_get_param_index( element_with_params, "par=am" ); - EXPECT_EQ( result, 0 ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_get_param_index( element_with_params, "par]am" ); - EXPECT_EQ( result, 0 ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_get_param_index( element_with_params, "par\"am" ); - EXPECT_EQ( result, 0 ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + for(const char *invalid_name : invalid_names){ + result = stumpless_get_param_index( element_with_params, invalid_name ); + EXPECT_EQ( result, 0 ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } } TEST_F( ElementTest, GetParamNameCount ) { @@ -473,18 +464,13 @@ namespace { TEST_F( ElementTest, GetParamNameCountInvalidName ) { size_t result; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; - result = stumpless_get_param_name_count( basic_element, "par=am" ); - EXPECT_EQ( result, 0 ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_get_param_name_count( basic_element, "par]am" ); - EXPECT_EQ( result, 0 ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_get_param_name_count( basic_element, "par\"am" ); - EXPECT_EQ( result, 0 ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + for(const char *invalid_name : invalid_names){ + result = stumpless_get_param_name_count( basic_element, invalid_name ); + EXPECT_EQ( result, 0 ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } } TEST_F( ElementTest, GetParamNameByIndex ) { @@ -577,18 +563,13 @@ namespace { TEST_F( ElementTest, GetParamValueByNameInvalidName ) { const char *result; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; - result = stumpless_get_param_value_by_name( element_with_params, "par=am" ); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_get_param_value_by_name( element_with_params, "par]am" ); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_get_param_value_by_name( element_with_params, "par\"am" ); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + for(const char *invalid_name : invalid_names){ + result = stumpless_get_param_value_by_name( element_with_params, invalid_name ); + EXPECT_NULL( result ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } } TEST_F( ElementTest, HasParam ) { @@ -615,18 +596,13 @@ namespace { TEST_F( ElementTest, HasParamInvalidName ) { bool result; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; - result = stumpless_element_has_param( element_with_params, "par=am" ); - EXPECT_FALSE( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_element_has_param( element_with_params, "para]m" ); - EXPECT_FALSE( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_element_has_param( element_with_params, "pa\"ram" ); - EXPECT_FALSE( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + for(const char *invalid_name : invalid_names){ + result = stumpless_element_has_param( element_with_params, invalid_name ); + EXPECT_FALSE( result ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } } TEST_F( ElementTest, SetName ) { @@ -1065,19 +1041,13 @@ namespace { TEST( NewElementTest, InvalidName ) { struct stumpless_element *element; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; - element = stumpless_new_element( "ele=ment" ); - EXPECT_NULL( element ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - element = stumpless_new_element( "element]" ); - EXPECT_NULL( element ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - element = stumpless_new_element( "El\"ment" ); - EXPECT_NULL( element ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - + for(const char *invalid_name : invalid_names){ + element = stumpless_new_element( invalid_name ); + EXPECT_NULL( element ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } stumpless_free_all( ); } @@ -1107,22 +1077,16 @@ namespace { struct stumpless_element *element; struct stumpless_element *result; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; element = stumpless_new_element( "element" ); ASSERT_NOT_NULL( element ); - result = stumpless_set_element_name( element, "ele=ment"); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_set_element_name( element, "eleme]nt"); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_set_element_name( element, "element\""); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - + for(const char *invalid_name : invalid_names){ + result = stumpless_set_element_name( element, invalid_name); + EXPECT_NULL( result ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } stumpless_destroy_element_and_contents( element ); stumpless_free_all( ); } diff --git a/test/function/entry.cpp b/test/function/entry.cpp index 2fcfc6b0c..4351db963 100644 --- a/test/function/entry.cpp +++ b/test/function/entry.cpp @@ -25,6 +25,7 @@ #include "test/helper/assert.hpp" #include "test/helper/fixture.hpp" #include "test/helper/memory_allocation.hpp" +#include "test/helper/test_strings.hpp" using::testing::HasSubstr; @@ -764,52 +765,37 @@ namespace { TEST_F( EntryTest, HasElementInvalidName ) { bool result; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; - result = stumpless_entry_has_element( basic_entry, "ele=ment" ); - EXPECT_FALSE( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_entry_has_element( basic_entry, "ele]ment" ); - EXPECT_FALSE( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_entry_has_element( basic_entry, "element\"" ); - EXPECT_FALSE( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + for(const char *invalid_name : invalid_names){ + result = stumpless_entry_has_element( basic_entry, invalid_name ); + EXPECT_FALSE( result ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } } TEST_F( EntryTest, GetElementInvalidName ) { bool result; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; - result = stumpless_get_element_by_name( basic_entry, "ele=ment" ); - EXPECT_FALSE( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_get_element_by_name( basic_entry, "ele]ment" ); - EXPECT_FALSE( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_get_element_by_name( basic_entry, "element\"" ); - EXPECT_FALSE( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + for(const char *invalid_name : invalid_names){ + result = stumpless_get_element_by_name( basic_entry, invalid_name ); + EXPECT_FALSE( result ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } } TEST_F( EntryTest, GetElementIdxInvalidName ) { bool result; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; - result = stumpless_get_element_index( basic_entry, "ele=ment" ); - EXPECT_FALSE( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_get_element_index( basic_entry, "ele]ment" ); - EXPECT_FALSE( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_get_element_index( basic_entry, "element\"" ); - EXPECT_FALSE( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + for(const char *invalid_name : invalid_names){ + result = stumpless_get_element_index( basic_entry, invalid_name ); + EXPECT_FALSE( result ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } } TEST_F( EntryTest, SetAppName ) { diff --git a/test/function/param.cpp b/test/function/param.cpp index fd772907f..66135b310 100644 --- a/test/function/param.cpp +++ b/test/function/param.cpp @@ -23,6 +23,7 @@ #include #include "test/helper/assert.hpp" #include "test/helper/memory_allocation.hpp" +#include "test/helper/test_strings.hpp" namespace { @@ -245,19 +246,13 @@ namespace { struct stumpless_param param; const struct stumpless_param *result; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; - result = stumpless_load_param( ¶m, "par=am", "test-value" ); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_load_param( ¶m, "param]", "test-value" ); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_load_param( ¶m, "p\"aram", "test-value" ); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - + for(const char *invalid_name : invalid_names){ + result = stumpless_load_param( ¶m, invalid_name, "test-value" ); + EXPECT_NULL( result ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } stumpless_free_all( ); } @@ -349,19 +344,13 @@ namespace { TEST( NewParamTest, InvalidName ) { struct stumpless_param *param; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; - param = stumpless_new_param( "par=am", "test-value" ); - EXPECT_NULL( param ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - param = stumpless_new_param( "param]", "test-value" ); - EXPECT_NULL( param ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - param = stumpless_new_param( "p\"aram", "test-value" ); - EXPECT_NULL( param ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - + for(const char *invalid_name : invalid_names){ + param = stumpless_new_param( invalid_name, "test-value" ); + EXPECT_NULL( param ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } stumpless_free_all( ); } @@ -478,22 +467,16 @@ namespace { struct stumpless_param *param; struct stumpless_param *result; const struct stumpless_error *error; + const char *invalid_names[] = {INVALID_NAMES}; param = stumpless_new_param( "param", "my-value" ); ASSERT_NOT_NULL( param ); - result = stumpless_set_param_name( param, "par=am"); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_set_param_name( param, "par]m"); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - - result = stumpless_set_param_name( param, "param\""); - EXPECT_NULL( result ); - EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); - + for(const char *invalid_name : invalid_names){ + result = stumpless_set_param_name( param, invalid_name); + EXPECT_NULL( result ); + EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING ); + } stumpless_destroy_param( param ); stumpless_free_all( ); }