summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/String/internalUsage.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/String/internalUsage.js')
-rw-r--r--js/src/tests/non262/String/internalUsage.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/tests/non262/String/internalUsage.js b/js/src/tests/non262/String/internalUsage.js
new file mode 100644
index 0000000000..6ee8d5a581
--- /dev/null
+++ b/js/src/tests/non262/String/internalUsage.js
@@ -0,0 +1,30 @@
+var BUGNUMBER = 1268138;
+var summary = 'Internal usage of split should not be affected by prototpe change';
+
+print(BUGNUMBER + ": " + summary);
+
+function test() {
+ var t = 24*60*60*1000;
+ var possibleAnswer = ["1.1.1970", "2.1.1970", "3.1.1970"];
+
+ String.prototype[Symbol.split] = function(s, limit) { return [""]; };
+ var s = Intl.DateTimeFormat("de", {}).format(t);
+ assertEq(possibleAnswer.includes(s), true);
+
+ String.prototype[Symbol.split] = function(s, limit) { return ["x-foo"]; };
+ s = Intl.DateTimeFormat("de", {}).format(t);
+ assertEq(possibleAnswer.includes(s), true);
+
+ String.prototype[Symbol.split] = function(s, limit) { return ["de-u-co"]; };
+ s = Intl.DateTimeFormat("de", {}).format(t);
+ assertEq(possibleAnswer.includes(s), true);
+
+ String.prototype[Symbol.split] = function(s, limit) { return ["en-US"]; };
+ s = Intl.DateTimeFormat("de", {}).format(t);
+ assertEq(possibleAnswer.includes(s), true);
+}
+
+if (this.hasOwnProperty("Intl"))
+ test();
+
+reportCompare(0, 0, "ok");