diff options
author | Louis Pilfold <louis@lpil.uk> | 2024-06-23 13:39:00 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2024-06-23 13:39:02 +0100 |
commit | 934f181d8943e639a8f8b2730b512bd972f36b5f (patch) | |
tree | 9c7fb0007122ad10725b1f9c123f2ccd3eb4d740 | |
parent | 4a08ef5d49045491e253e6f51204466e98ffb80f (diff) | |
download | gleam_stdlib-934f181d8943e639a8f8b2730b512bd972f36b5f.tar.gz gleam_stdlib-934f181d8943e639a8f8b2730b512bd972f36b5f.zip |
Split test, remove extra function
-rw-r--r-- | src/gleam/regex.gleam | 13 | ||||
-rw-r--r-- | test/gleam/regex_test.gleam | 12 |
2 files changed, 16 insertions, 9 deletions
diff --git a/src/gleam/regex.gleam b/src/gleam/regex.gleam index 0b95922..87f8dbe 100644 --- a/src/gleam/regex.gleam +++ b/src/gleam/regex.gleam @@ -191,7 +191,8 @@ pub fn scan(with regex: Regex, content string: String) -> List(Match) { @external(javascript, "../gleam_stdlib.mjs", "regex_scan") fn do_scan(a: Regex, b: String) -> List(Match) -/// Creates a new `String` by replacing all substrings that match the regular expression. +/// Creates a new `String` by replacing all substrings that match the regular +/// expression. /// /// ## Examples /// @@ -206,14 +207,10 @@ fn do_scan(a: Regex, b: String) -> List(Match) /// replace(each: re, in: "a,b-c d+e", with: "/") /// // -> "a/b/c/d/e" /// ` +@external(erlang, "gleam_stdlib", "regex_replace") +@external(javascript, "../gleam_stdlib.mjs", "regex_replace") pub fn replace( each pattern: Regex, in string: String, with substitute: String, -) -> String { - do_replace(pattern, string, substitute) -} - -@external(erlang, "gleam_stdlib", "regex_replace") -@external(javascript, "../gleam_stdlib.mjs", "regex_replace") -fn do_replace(a: Regex, b: String, c: String) -> String +) -> String diff --git a/test/gleam/regex_test.gleam b/test/gleam/regex_test.gleam index 9229b93..e517577 100644 --- a/test/gleam/regex_test.gleam +++ b/test/gleam/regex_test.gleam @@ -162,16 +162,26 @@ pub fn scan_test() { |> should.equal([]) } -pub fn replace_test() { +pub fn replace_0_test() { let assert Ok(re) = regex.from_string(",") regex.replace(in: "a,b,c,d", each: re, with: " ") |> should.equal("a b c d") +} +pub fn replace_1_test() { let assert Ok(re) = regex.from_string("\\d") regex.replace(in: "Hell1o, World!1", each: re, with: "") |> should.equal("Hello, World!") +} +pub fn replace_2_test() { let assert Ok(re) = regex.from_string("🐈") regex.replace(in: "🐈🐈 are great!", each: re, with: "🐕") |> should.equal("🐕🐕 are great!") } + +pub fn replace_3_test() { + let assert Ok(re) = regex.from_string("🐈") + regex.replace(re, "🐈🐈 are great!", "🐕") + |> should.equal("🐕🐕 are great!") +} |