diff options
author | Michael Mark <michael.mark@oit.edu> | 2024-05-24 16:51:06 -0700 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2024-05-29 12:26:22 +0100 |
commit | 26c7f2e0968906d4bf77efdea9e6c0389df10bee (patch) | |
tree | f2f687fc15e87f674b617634db80e49394785be0 /test | |
parent | 8f22ee767ecdc54061db850584deae15e348abd8 (diff) | |
download | gleam_stdlib-26c7f2e0968906d4bf77efdea9e6c0389df10bee.tar.gz gleam_stdlib-26c7f2e0968906d4bf77efdea9e6c0389df10bee.zip |
Generalized escape handling for all chars < 32
Also some minor improvements like more tests, correcting codes in
format \u{xx} to \u{xxxx}, and escaping code 127. Now, all characters
with an ASCII code of less than 32 are automatically converted into
\u{xxxx} syntax in string.inspect. Now, the only way that string.inspect
will show two strings as identical when they're not is if they use
copycat unicodes, such as greek question mark or accent modifiers.
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/string_test.gleam | 48 |
1 files changed, 30 insertions, 18 deletions
diff --git a/test/gleam/string_test.gleam b/test/gleam/string_test.gleam index b21b213..9a1a315 100644 --- a/test/gleam/string_test.gleam +++ b/test/gleam/string_test.gleam @@ -688,14 +688,26 @@ pub fn inspect_test() { string.inspect("\f") |> should.equal("\"\\f\"") - string.inspect("\u{08}") - |> should.equal("\"\\b\"") + string.inspect("\u{0008}") + |> should.equal("\"\\u{0008}\"") - string.inspect("\u{0B}") - |> should.equal("\"\\v\"") + string.inspect("\u{000B}") + |> should.equal("\"\\u{000B}\"") - string.inspect("\u{1B}") - |> should.equal("\"\\e\"") + string.inspect("\u{001B}") + |> should.equal("\"\\u{001B}\"") + + string.inspect("\u{0015}") + |> should.equal("\"\\u{0015}\"") + + string.inspect("\u{001F}") + |> should.equal("\"\\u{001F}\"") + + string.inspect("\u{0020}") + |> should.equal("\" \"") + + string.inspect("\u{007F}") + |> should.equal("\"\\u{007F}\"") string.inspect("\r\r") |> should.equal("\"\\r\\r\"") @@ -730,23 +742,23 @@ pub fn inspect_test() { string.inspect("\f\t") |> should.equal("\"\\f\\t\"") - string.inspect("\t\u{08}") - |> should.equal("\"\\t\\b\"") + string.inspect("\t\u{0008}") + |> should.equal("\"\\t\\u{0008}\"") - string.inspect("\u{08}\t") - |> should.equal("\"\\b\\t\"") + string.inspect("\u{0008}\t") + |> should.equal("\"\\u{0008}\\t\"") - string.inspect("\t\u{0B}") - |> should.equal("\"\\t\\v\"") + string.inspect("\t\u{000B}") + |> should.equal("\"\\t\\u{000B}\"") - string.inspect("\u{0B}\t") - |> should.equal("\"\\v\\t\"") + string.inspect("\u{000B}\t") + |> should.equal("\"\\u{000B}\\t\"") - string.inspect("\t\u{1B}") - |> should.equal("\"\\t\\e\"") + string.inspect("\t\u{001B}") + |> should.equal("\"\\t\\u{001B}\"") - string.inspect("\u{1B}\t") - |> should.equal("\"\\e\\t\"") + string.inspect("\u{001B}\t") + |> should.equal("\"\\u{001B}\\t\"") string.inspect("\\\n\\") |> should.equal("\"\\\\\\n\\\\\"") |