diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/String/length.js')
-rw-r--r-- | js/src/tests/test262/built-ins/String/length.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/String/length.js b/js/src/tests/test262/built-ins/String/length.js new file mode 100644 index 0000000000..62da509bdb --- /dev/null +++ b/js/src/tests/test262/built-ins/String/length.js @@ -0,0 +1,30 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-properties-of-string-instances-length +description: The "length" property of String objects +info: | + [...] + 4. Return ? StringCreate(s, ? GetPrototypeFromConstructor(NewTarget, + "%StringPrototype%")). +includes: [propertyHelper.js] +---*/ + +var str = new String(''); + +verifyNotEnumerable(str, 'length'); +verifyNotWritable(str, 'length'); +verifyNotConfigurable(str, 'length'); + +assert.sameValue(str.length, 0, 'empty string'); + +str = new String(' '); +assert.sameValue(str.length, 1, 'whitespace'); + +str = new String(' \b '); +assert.sameValue(str.length, 3, 'character escape (U+008, "backspace")'); + +str = new String('\ud834\udf06'); +assert.sameValue(str.length, 2, 'Unicode escape (surrogate pair)'); + +reportCompare(0, 0); |