diff --git a/CHANGELOG.md b/CHANGELOG.md index 2334ec51..922d5ade 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,8 @@ ## Unreleased - Improved output: adding a space between each test file -- Remove `BASHUNIT_DEV_MODE` in favor of `BASHUNIT_DEV_LOG` +- Removed `BASHUNIT_DEV_MODE` in favor of `BASHUNIT_DEV_LOG` +- Fixed name rendered when having `test_test_*` ## [0.18.0](https://github.com/TypedDevs/bashunit/compare/0.17.0...0.18.0) - 2024-10-16 diff --git a/src/helpers.sh b/src/helpers.sh index a143948e..270e5b49 100755 --- a/src/helpers.sh +++ b/src/helpers.sh @@ -11,12 +11,14 @@ function helper::normalize_test_function_name() { local original_function_name="${1-}" local result - # Remove "test_" prefix + # Remove the first "test_" prefix, if present result="${original_function_name#test_}" + # If no "test_" was removed (e.g., "testFoo"), remove the "test" prefix + if [[ "$result" == "$original_function_name" ]]; then + result="${original_function_name#test}" + fi # Replace underscores with spaces result="${result//_/ }" - # Remove "test" prefix - result="${result#test}" # Capitalize the first letter result="$(tr '[:lower:]' '[:upper:]' <<< "${result:0:1}")${result:1}" diff --git a/tests/unit/helpers_test.sh b/tests/unit/helpers_test.sh index 81f1b7a6..57d79096 100644 --- a/tests/unit/helpers_test.sh +++ b/tests/unit/helpers_test.sh @@ -24,6 +24,10 @@ function test_normalize_test_function_name_snake_case() { assert_same "Some logic" "$(helper::normalize_test_function_name "test_some_logic")" } +function test_normalize_double_test_function_name_snake_case() { + assert_same "Test some logic" "$(helper::normalize_test_function_name "test_test_some_logic")" +} + function test_normalize_test_function_name_camel_case() { assert_same "SomeLogic" "$(helper::normalize_test_function_name "testSomeLogic")" }