Skip to content

Commit

Permalink
Add tests for builtin strings::indexof method (#311)
Browse files Browse the repository at this point in the history
Signed-off-by: Sumedh Alok Sharma <[email protected]>
  • Loading branch information
Sumynwa authored Sep 11, 2024
1 parent b6935d1 commit ecd341b
Showing 1 changed file with 151 additions and 0 deletions.
151 changes: 151 additions & 0 deletions tests/interpreter/cases/builtins/strings/indexof.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

cases:
- note: base
data: {}
modules:
- |
package test
v1 = indexof("Hello world", "llo") # valid substring
v2 = indexof("Hello world", "hel") # case sensitive
v3 = indexof("Hello world", "l") # single character
v4 = indexof("", ",") # empty string
v5 = indexof("", "") # empty substring and string
query: data.test
want_result:
v1: 2
v2: -1
v3: 2
v4: -1
v5: -1

- note: unicode-char
data: {}
modules:
- |
package test
v1 = indexof("μx", "x")
query: data.test
want_result:
v1: 1

- note: unicode-chars-not-found
data: {}
modules:
- |
package test
v1 = indexof("μ", "μμ")
query: data.test
want_result:
v1: -1

- note: unicode-string
data: {}
modules:
- |
package test
v1 = indexof("skön var våren", "vår")
query: data.test
want_result:
v1: 9

- note: undefined-string
data: {}
modules:
- |
package test
x { false }
y = indexof(x, "")
query: data.test
want_result: {}

- note: undefined-substring
data: {}
modules:
- |
package test
x { false }
y = indexof(",", x)
query: data.test
want_result: {}

- note: invalid-null-string
data: {}
modules: ["package test\nx=indexof(null, ``)"]
query: data.test
error: "`indexof` expects string argument."

- note: invalid-bool-string
data: {}
modules: ["package test\nx=indexof(true, ``)"]
query: data.test
error: "`indexof` expects string argument."

- note: invalid-number-string
data: {}
modules: ["package test\nx=indexof(1, ``)"]
query: data.test
error: "`indexof` expects string argument."

- note: invalid-array-string
data: {}
modules: ["package test\nx=indexof([], ``)"]
query: data.test
error: "`indexof` expects string argument."

- note: invalid-set-string
data: {}
modules: ["package test\nx=indexof(set(), ``)"]
query: data.test
error: "`indexof` expects string argument."

- note: invalid-object-string
data: {}
modules: ["package test\nx=indexof({}, ``)"]
query: data.test
error: "`indexof` expects string argument."

- note: invalid-null-substring
data: {}
modules: ["package test\nx=indexof(``, null)"]
query: data.test
error: "`indexof` expects string argument."

- note: invalid-bool-substring
data: {}
modules: ["package test\nx=indexof(``, true)"]
query: data.test
error: "`indexof` expects string argument."

- note: invalid-number-substring
data: {}
modules: ["package test\nx=indexof(``, 1)"]
query: data.test
error: "`indexof` expects string argument."

- note: invalid-array-substring
data: {}
modules: ["package test\nx=indexof(``, [])"]
query: data.test
error: "`indexof` expects string argument."

- note: invalid-set-substring
data: {}
modules: ["package test\nx=indexof(``, set())"]
query: data.test
error: "`indexof` expects string argument."

- note: invalid-object-substring
data: {}
modules: ["package test\nx=indexof(``, {})"]
query: data.test
error: "`indexof` expects string argument."

0 comments on commit ecd341b

Please sign in to comment.