From 06940f1b65b89ec0ca869a991b454f58a0088389 Mon Sep 17 00:00:00 2001 From: flakey5 <73616808+flakey5@users.noreply.github.com> Date: Sun, 22 May 2022 11:10:08 -0700 Subject: [PATCH] string.expandWildcards implementation --- core/modules/string/string.lua | 4 ++-- core/modules/string/tests/string_pattern_tests.lua | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/core/modules/string/string.lua b/core/modules/string/string.lua index 21592ea1b1..b37d46791c 100644 --- a/core/modules/string/string.lua +++ b/core/modules/string/string.lua @@ -14,7 +14,6 @@ end --- -- Returns a new string with any Premake pattern tokens (i.e. `*`) expanded to Lua patterns. -- --- TODO: Just a placeholder at the moment; needs implementation. -- TODO: Move this to C; gets called a lot. -- -- @param value @@ -26,7 +25,8 @@ end --- function string.expandWildcards(value) - return value, true + local expanded = string.patternFromWildcards(value) + return expanded, value ~= expanded end diff --git a/core/modules/string/tests/string_pattern_tests.lua b/core/modules/string/tests/string_pattern_tests.lua index a0ee3a515e..8fe0ac2468 100644 --- a/core/modules/string/tests/string_pattern_tests.lua +++ b/core/modules/string/tests/string_pattern_tests.lua @@ -8,3 +8,15 @@ end function StringPatternTests.patternFromWildcards_replacesStarWithLuaPattern() test.isEqual('ab.*', string.patternFromWildcards('ab*')) end + +function StringPatternTests.expandWildcards_leavesUnchanged_onNoWildcards() + local value, hasTokens = string.expandWildcards('abcd') + test.isEqual('abcd', value) + test.isEqual(false, hasTokens) +end + +function StringPatternTests.expandWildcards_replacesStarWithLuaPattern() + local value, hasTokens = string.expandWildcards('ab*') + test.isEqual('ab.*', value) + test.isEqual(true, hasTokens) +end