diff --git a/test/built-ins/String/prototype/trimEnd/this-value-line-terminator.js b/test/built-ins/String/prototype/trimEnd/this-value-line-terminator.js new file mode 100644 index 0000000000..3e4eea802e --- /dev/null +++ b/test/built-ins/String/prototype/trimEnd/this-value-line-terminator.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.trimEnd +description: TrimEnd removes all line terminators from the end of a string. +info: | + Runtime Symantics: TrimString ( string, where ) + ... + 4. Else if where is "end", let T be a String value that is a copy of S with + trailing white space removed. + ... + + The definition of white space is the union of WhiteSpace and LineTerminator. + +features: [string-trimming] +---*/ + +var trimEnd = String.prototype.trimEnd; + +// A string of all valid LineTerminator Unicode code points +var lt = '\u000A\u000D\u2028\u2029'; + +var str = lt + 'a' + lt + 'b' + lt; +var expected = lt + 'a' + lt + 'b'; + +assert.sameValue( + trimEnd.call(str), + expected, +); diff --git a/test/built-ins/String/prototype/trimEnd/this-value-whitespace.js b/test/built-ins/String/prototype/trimEnd/this-value-whitespace.js new file mode 100644 index 0000000000..6889a5bbf8 --- /dev/null +++ b/test/built-ins/String/prototype/trimEnd/this-value-whitespace.js @@ -0,0 +1,33 @@ +// 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.trimEnd +description: TrimEnd removes all whitespace from the end of a string. +info: | + Runtime Symantics: TrimString ( string, where ) + ... + 3. Else if where is "end", let T be a String value that is a copy of S with + trailing white space removed. + ... + + The definition of white space is the union of WhiteSpace and LineTerminator. + When determining whether a Unicode code point is in Unicode general category + “Zs”, code unit sequences are interpreted as UTF-16 encoded code point + sequences as specified in 6.1.4. + +features: [string-trimming] +---*/ + +var trimEnd = String.prototype.trimEnd; + +// A string of all valid WhiteSpace Unicode code points +var wspc = '\u0009\u000B\u000C\u0020\u00A0\FEFF\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000'; + +var str = wspc + 'a' + wspc + 'b' + wspc; +var expected = wspc + 'a' + wspc + 'b'; + +assert.sameValue( + trimEnd.call(str), + expected, +); diff --git a/test/built-ins/String/prototype/trimStart/this-value-line-terminator.js b/test/built-ins/String/prototype/trimStart/this-value-line-terminator.js new file mode 100644 index 0000000000..743e714a2a --- /dev/null +++ b/test/built-ins/String/prototype/trimStart/this-value-line-terminator.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: TrimStart removes all line terminators from the start of a string. +info: | + Runtime Symantics: TrimString ( string, where ) + ... + 4. If where is "start", let T be a String value that is a copy of S with + trailing white space removed. + ... + + The definition of white space is the union of WhiteSpace and LineTerminator. + +features: [string-trimming] +---*/ + +var trimStart = String.prototype.trimStart; + +// A string of all valid LineTerminator Unicode code points +var lt = '\u000A\u000D\u2028\u2029'; + +var str = lt + 'a' + lt + 'b' + lt; +var expected = 'a' + lt + 'b' + lt; + +assert.sameValue( + trimStart.call(str), + expected, +); diff --git a/test/built-ins/String/prototype/trimStart/this-value-whitespace.js b/test/built-ins/String/prototype/trimStart/this-value-whitespace.js new file mode 100644 index 0000000000..913d3a21ec --- /dev/null +++ b/test/built-ins/String/prototype/trimStart/this-value-whitespace.js @@ -0,0 +1,33 @@ +// 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: TrimStart removes all whitespace from the start of a string. +info: | + Runtime Symantics: TrimString ( string, where ) + ... + 3. If where is "start", let T be a String value that is a copy of S with + trailing white space removed. + ... + + The definition of white space is the union of WhiteSpace and LineTerminator. + When determining whether a Unicode code point is in Unicode general category + “Zs”, code unit sequences are interpreted as UTF-16 encoded code point + sequences as specified in 6.1.4. + +features: [string-trimming] +---*/ + +var trimStart = String.prototype.trimStart; + +// A string of all valid WhiteSpace Unicode code points +var wspc = '\u0009\u000B\u000C\u0020\u00A0\FEFF\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000'; + +var str = wspc + 'a' + wspc + 'b' + wspc; +var expected = 'a' + wspc + 'b' + wspc; + +assert.sameValue( + trimStart.call(str), + expected, +);