diff --git a/doc/_stdlib_gen/stdlib-content.jsonnet b/doc/_stdlib_gen/stdlib-content.jsonnet index be9423d44..f2f88a6db 100644 --- a/doc/_stdlib_gen/stdlib-content.jsonnet +++ b/doc/_stdlib_gen/stdlib-content.jsonnet @@ -371,6 +371,14 @@ local html = import 'html.libsonnet'; Returns true if the the given string is of zero length. |||, }, + { + name: 'equalsIgnoreCase', + params: ['str1', 'str2'], + availableSince: 'upcoming', + description: ||| + Returns true if the the given str1 is equal to str2 by doing case insensitive comparison, false otherwise. + |||, + }, { name: 'asciiUpper', params: ['str'], diff --git a/stdlib/std.jsonnet b/stdlib/std.jsonnet index df086f065..d0b31b4a5 100644 --- a/stdlib/std.jsonnet +++ b/stdlib/std.jsonnet @@ -1724,6 +1724,8 @@ limitations under the License. isEmpty(str):: std.length(str) == 0, contains(arr, elem):: std.any([e == elem for e in arr]), + + equalsIgnoreCase(str1, str2):: std.asciiLower(str1) == std.asciiLower(str2), removeAt(arr, at):: [ arr[i], diff --git a/test_suite/stdlib.jsonnet b/test_suite/stdlib.jsonnet index 92910d870..98157b8ee 100644 --- a/test_suite/stdlib.jsonnet +++ b/test_suite/stdlib.jsonnet @@ -1562,6 +1562,9 @@ std.assertEqual(std.isEmpty('non-empty string'), false) && std.assertEqual(std.contains([1, 2, 3], 2), true) && std.assertEqual(std.contains([1, 2, 3], "foo"), false) && +std.assertEqual(std.equalsIgnoreCase('foo', 'FOO'), true) && +std.assertEqual(std.equalsIgnoreCase('foo', 'bar'), false) && + std.assertEqual(std.remove([1, 2, 3], 2), [1, 3]) && std.assertEqual(std.removeAt([1, 2, 3], 1), [1, 3]) &&