Index: test/codegen/expect/corelib/string_replace_all_test.js |
diff --git a/test/codegen/expect/corelib/string_replace_all_test.js b/test/codegen/expect/corelib/string_replace_all_test.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..48a5508d0e07ac7e038127269d2fc75a77b3f536 |
--- /dev/null |
+++ b/test/codegen/expect/corelib/string_replace_all_test.js |
@@ -0,0 +1,85 @@ |
+dart_library.library('corelib/string_replace_all_test', null, /* Imports */[ |
+ 'dart_sdk', |
+ 'expect' |
+], function load__string_replace_all_test(exports, dart_sdk, expect) { |
+ 'use strict'; |
+ const core = dart_sdk.core; |
+ const dart = dart_sdk.dart; |
+ const dartx = dart_sdk.dartx; |
+ const expect$ = expect.expect; |
+ const string_replace_all_test = Object.create(null); |
+ let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))(); |
+ let MatchToString = () => (MatchToString = dart.constFn(dart.definiteFunctionType(core.String, [core.Match])))(); |
+ let StringToString = () => (StringToString = dart.constFn(dart.definiteFunctionType(core.String, [core.String])))(); |
+ string_replace_all_test.testReplaceAll = function() { |
+ expect$.Expect.equals("aXXcaXXdae", "abcabdae"[dartx.replaceAll]("b", "XX")); |
+ expect$.Expect.equals("XXbcXXbdXXe", "abcabdae"[dartx.replaceAll]("a", "XX")); |
+ expect$.Expect.equals("abcabdaXX", "abcabdae"[dartx.replaceAll]("e", "XX")); |
+ expect$.Expect.equals("abcabdae", "abcabdae"[dartx.replaceAll]("f", "XX")); |
+ expect$.Expect.equals("", ""[dartx.replaceAll]("from", "to")); |
+ expect$.Expect.equals("fro", "fro"[dartx.replaceAll]("from", "to")); |
+ expect$.Expect.equals("to", "from"[dartx.replaceAll]("from", "to")); |
+ expect$.Expect.equals("toto", "fromfrom"[dartx.replaceAll]("from", "to")); |
+ expect$.Expect.equals("to", "to"[dartx.replaceAll]("from", "to")); |
+ expect$.Expect.equals("bcbde", "abcabdae"[dartx.replaceAll]("a", "")); |
+ expect$.Expect.equals("AB", "AfromB"[dartx.replaceAll]("from", "")); |
+ expect$.Expect.equals("to", ""[dartx.replaceAll]("", "to")); |
+ expect$.Expect.equals("toAtoBtoCto", "ABC"[dartx.replaceAll]("", "to")); |
+ expect$.Expect.equals("$$", "||"[dartx.replaceAll]("|", "$")); |
+ expect$.Expect.equals("$$$$", "||"[dartx.replaceAll]("|", "$$")); |
+ expect$.Expect.equals("x$|x", "x|.|x"[dartx.replaceAll]("|.", "$")); |
+ expect$.Expect.equals("$$", ".."[dartx.replaceAll](".", "$")); |
+ expect$.Expect.equals("[$$$$]", "[..]"[dartx.replaceAll](".", "$$")); |
+ expect$.Expect.equals("[$]", "[..]"[dartx.replaceAll]("..", "$")); |
+ expect$.Expect.equals("$$", "\\\\"[dartx.replaceAll]("\\", "$")); |
+ }; |
+ dart.fn(string_replace_all_test.testReplaceAll, VoidTodynamic()); |
+ string_replace_all_test.testReplaceAllMapped = function() { |
+ function mark(m) { |
+ return dart.str`[${m.get(0)}]`; |
+ } |
+ dart.fn(mark, MatchToString()); |
+ expect$.Expect.equals("a[b]ca[b]dae", "abcabdae"[dartx.replaceAllMapped]("b", mark)); |
+ expect$.Expect.equals("[a]bc[a]bd[a]e", "abcabdae"[dartx.replaceAllMapped]("a", mark)); |
+ expect$.Expect.equals("abcabda[e]", "abcabdae"[dartx.replaceAllMapped]("e", mark)); |
+ expect$.Expect.equals("abcabdae", "abcabdae"[dartx.replaceAllMapped]("f", mark)); |
+ expect$.Expect.equals("", ""[dartx.replaceAllMapped]("from", mark)); |
+ expect$.Expect.equals("fro", "fro"[dartx.replaceAllMapped]("from", mark)); |
+ expect$.Expect.equals("[from][from]", "fromfrom"[dartx.replaceAllMapped]("from", mark)); |
+ expect$.Expect.equals("bcbde", "abcabdae"[dartx.replaceAllMapped]("a", dart.fn(m => "", MatchToString()))); |
+ expect$.Expect.equals("AB", "AfromB"[dartx.replaceAllMapped]("from", dart.fn(m => "", MatchToString()))); |
+ expect$.Expect.equals("[]", ""[dartx.replaceAllMapped]("", mark)); |
+ expect$.Expect.equals("[]A[]B[]C[]", "ABC"[dartx.replaceAllMapped]("", mark)); |
+ }; |
+ dart.fn(string_replace_all_test.testReplaceAllMapped, VoidTodynamic()); |
+ string_replace_all_test.testSplitMapJoin = function() { |
+ function mark(m) { |
+ return dart.str`[${m.get(0)}]`; |
+ } |
+ dart.fn(mark, MatchToString()); |
+ function wrap(s) { |
+ return dart.str`<${s}>`; |
+ } |
+ dart.fn(wrap, StringToString()); |
+ expect$.Expect.equals("<a>[b]<ca>[b]<dae>", "abcabdae"[dartx.splitMapJoin]("b", {onMatch: mark, onNonMatch: wrap})); |
+ expect$.Expect.equals("<>[a]<bc>[a]<bd>[a]<e>", "abcabdae"[dartx.splitMapJoin]("a", {onMatch: mark, onNonMatch: wrap})); |
+ expect$.Expect.equals("<abcabda>[e]<>", "abcabdae"[dartx.splitMapJoin]("e", {onMatch: mark, onNonMatch: wrap})); |
+ expect$.Expect.equals("<abcabdae>", "abcabdae"[dartx.splitMapJoin]("f", {onMatch: mark, onNonMatch: wrap})); |
+ expect$.Expect.equals("<>", ""[dartx.splitMapJoin]("from", {onMatch: mark, onNonMatch: wrap})); |
+ expect$.Expect.equals("<fro>", "fro"[dartx.splitMapJoin]("from", {onMatch: mark, onNonMatch: wrap})); |
+ expect$.Expect.equals("<>[from]<>[from]<>", "fromfrom"[dartx.splitMapJoin]("from", {onMatch: mark, onNonMatch: wrap})); |
+ expect$.Expect.equals("<>[]<>", ""[dartx.splitMapJoin]("", {onMatch: mark, onNonMatch: wrap})); |
+ expect$.Expect.equals("<>[]<A>[]<B>[]<C>[]<>", "ABC"[dartx.splitMapJoin]("", {onMatch: mark, onNonMatch: wrap})); |
+ expect$.Expect.equals("[a]bc[a]bd[a]e", "abcabdae"[dartx.splitMapJoin]("a", {onMatch: mark})); |
+ expect$.Expect.equals("<>a<bc>a<bd>a<e>", "abcabdae"[dartx.splitMapJoin]("a", {onNonMatch: wrap})); |
+ }; |
+ dart.fn(string_replace_all_test.testSplitMapJoin, VoidTodynamic()); |
+ string_replace_all_test.main = function() { |
+ string_replace_all_test.testReplaceAll(); |
+ string_replace_all_test.testReplaceAllMapped(); |
+ string_replace_all_test.testSplitMapJoin(); |
+ }; |
+ dart.fn(string_replace_all_test.main, VoidTodynamic()); |
+ // Exports: |
+ exports.string_replace_all_test = string_replace_all_test; |
+}); |