summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/template-tag-callsiteobject.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/ion/template-tag-callsiteobject.js')
-rw-r--r--js/src/jit-test/tests/ion/template-tag-callsiteobject.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/template-tag-callsiteobject.js b/js/src/jit-test/tests/ion/template-tag-callsiteobject.js
new file mode 100644
index 0000000000..4d1cdcbf41
--- /dev/null
+++ b/js/src/jit-test/tests/ion/template-tag-callsiteobject.js
@@ -0,0 +1,26 @@
+function tagA(strings) {
+ assertEq(strings.length, 2);
+ assertEq(strings[0], "a");
+ assertEq(strings[1], "");
+}
+
+function tagAB(strings) {
+ assertEq(strings.length, 2);
+ assertEq(strings[0], "a");
+ assertEq(strings[1], "b");
+}
+
+var data = [1, 2, 3];
+function tag(strings, value1, value2) {
+ return strings[0] + value1 + strings[1] + value2 + strings[2];
+}
+
+function complex() {
+ return tag`${data[0]} ${data[1] + data[2]}`;
+}
+
+for (var i = 0; i < 20; i++) {
+ tagA`a${0}`;
+ tagAB`a${0}b`;
+ assertEq(complex(), "1 5");
+}