summaryrefslogtreecommitdiff
path: root/lib/stdlib/test/string_SUITE.erl
diff options
context:
space:
mode:
authorChristian Rasmussen <christian.rasmussen@me.com>2022-03-12 00:44:44 +0100
committerChristian Rasmussen <christian.rasmussen@me.com>2022-03-12 02:59:20 +0100
commit52c36fa7a6a6cb81f0c068892de5b1553015e57c (patch)
tree2489a6e068e5bcf95853122e00bbcdab23f41b23 /lib/stdlib/test/string_SUITE.erl
parent2f0bf4fbd45acc9f6815b4acfb99d64fadca9fa8 (diff)
downloaderlang-52c36fa7a6a6cb81f0c068892de5b1553015e57c.tar.gz
Make sure to keep tail in strings containing emojis as well
Diffstat (limited to 'lib/stdlib/test/string_SUITE.erl')
-rw-r--r--lib/stdlib/test/string_SUITE.erl6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/stdlib/test/string_SUITE.erl b/lib/stdlib/test/string_SUITE.erl
index 2539bf8692..7d5330ddb8 100644
--- a/lib/stdlib/test/string_SUITE.erl
+++ b/lib/stdlib/test/string_SUITE.erl
@@ -652,6 +652,9 @@ cd_gc(_) ->
[778|<<>>] = string:next_codepoint(tl(string:next_codepoint(<<$e,778/utf8>>))),
[0|<<128,1>>] = string:next_codepoint(<<0,128,1>>),
{error,<<128,1>>} = string:next_codepoint(<<128,1>>),
+ [128021|<<>>] = string:next_codepoint(<<128021/utf8>>), %% Dog
+ [128021|<<8205/utf8>>] = string:next_codepoint(<<128021/utf8,8205/utf8>>), %% Dog + ZWJ
+ [128021|<<8205/utf8,129466/utf8>>] = string:next_codepoint(<<128021/utf8,8205/utf8,129466/utf8>>), %% Dog + ZWJ + Service vest == Service dog
[] = string:next_grapheme(""),
[] = string:next_grapheme(<<>>),
@@ -664,6 +667,9 @@ cd_gc(_) ->
[[$e,778]|<<>>] = string:next_grapheme(<<$e,778/utf8>>),
[0|<<128,1>>] = string:next_grapheme(<<0,128,1>>),
{error,<<128,1>>} = string:next_grapheme(<<128,1>>),
+ [128021|<<>>] = string:next_grapheme(<<128021/utf8>>), %% Dog
+ [[128021,8205]|<<>>] = string:next_grapheme(<<128021/utf8,8205/utf8>>), %% Dog + ZWJ
+ [[128021,8205,129466]|<<>>] = string:next_grapheme(<<128021/utf8,8205/utf8,129466/utf8>>), %% Dog + ZWJ + Service vest == Service dog
ok.