Skip to content

Commit

Permalink
(goatshriek#193) Refactor tests to reduce common code
Browse files Browse the repository at this point in the history
  • Loading branch information
ade3p committed Aug 9, 2023
1 parent 111796d commit cd5ecd8
Show file tree
Hide file tree
Showing 4 changed files with 100 additions and 148 deletions.
19 changes: 19 additions & 0 deletions include/test/helper/test_strings.hpp
Original file line number Diff line number Diff line change
@@ -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"
122 changes: 43 additions & 79 deletions test/function/element.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include <stumpless.h>
#include "test/helper/assert.hpp"
#include "test/helper/memory_allocation.hpp"
#include "test/helper/test_strings.hpp"

using::testing::HasSubstr;

Expand Down Expand Up @@ -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 ) {
Expand Down Expand Up @@ -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 ) {
Expand Down Expand Up @@ -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 ) {
Expand Down Expand Up @@ -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 ) {
Expand All @@ -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 ) {
Expand Down Expand Up @@ -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( );
}

Expand Down Expand Up @@ -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( );
}
Expand Down
52 changes: 19 additions & 33 deletions test/function/entry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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 ) {
Expand Down
55 changes: 19 additions & 36 deletions test/function/param.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include <stumpless.h>
#include "test/helper/assert.hpp"
#include "test/helper/memory_allocation.hpp"
#include "test/helper/test_strings.hpp"

namespace {

Expand Down Expand Up @@ -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( &param, "par=am", "test-value" );
EXPECT_NULL( result );
EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING );

result = stumpless_load_param( &param, "param]", "test-value" );
EXPECT_NULL( result );
EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING );

result = stumpless_load_param( &param, "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( &param, invalid_name, "test-value" );
EXPECT_NULL( result );
EXPECT_ERROR_ID_EQ( STUMPLESS_INVALID_ENCODING );
}
stumpless_free_all( );
}

Expand Down Expand Up @@ -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( );
}

Expand Down Expand Up @@ -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( );
}
Expand Down

0 comments on commit cd5ecd8

Please sign in to comment.