summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/String/prototype/trimStart/this-value-symbol-typeerror.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/built-ins/String/prototype/trimStart/this-value-symbol-typeerror.js')
-rw-r--r--js/src/tests/test262/built-ins/String/prototype/trimStart/this-value-symbol-typeerror.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/String/prototype/trimStart/this-value-symbol-typeerror.js b/js/src/tests/test262/built-ins/String/prototype/trimStart/this-value-symbol-typeerror.js
new file mode 100644
index 0000000000..95e3e3fa38
--- /dev/null
+++ b/js/src/tests/test262/built-ins/String/prototype/trimStart/this-value-symbol-typeerror.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-string.prototype.trimStart
+description: Type error when "this" value is a Symbol
+info: |
+ Runtime Semantics: TrimString ( string, where )
+ 2. Let S be ? ToString(str).
+
+ ToString ( argument )
+ Argument Type: Symbol
+ Result: Throw a TypeError exception
+features: [string-trimming, String.prototype.trimStart]
+---*/
+
+assert.sameValue(typeof String.prototype.trimStart, "function");
+
+var trimStart = String.prototype.trimStart;
+var symbol = Symbol();
+
+assert.throws(
+ TypeError,
+ function() {
+ trimStart.call(symbol);
+ },
+ 'String.prototype.trimStart.call(Symbol())'
+);
+
+reportCompare(0, 0);