Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
michael@0 | 2 | /* This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 3 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 4 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 5 | |
michael@0 | 6 | |
michael@0 | 7 | /** |
michael@0 | 8 | File Name: 7.1-3.js |
michael@0 | 9 | ECMA Section: 7.1 White Space |
michael@0 | 10 | Description: - readability |
michael@0 | 11 | - separate tokens |
michael@0 | 12 | - otherwise should be insignificant |
michael@0 | 13 | - in strings, white space characters are significant |
michael@0 | 14 | - cannot appear within any other kind of token |
michael@0 | 15 | |
michael@0 | 16 | white space characters are: |
michael@0 | 17 | unicode name formal name string representation |
michael@0 | 18 | \u0009 tab <TAB> \t |
michael@0 | 19 | \u000B veritical tab <VT> ?? |
michael@0 | 20 | \U000C form feed <FF> \f |
michael@0 | 21 | \u0020 space <SP> " " |
michael@0 | 22 | |
michael@0 | 23 | Author: christine@netscape.com |
michael@0 | 24 | Date: 11 september 1997 |
michael@0 | 25 | */ |
michael@0 | 26 | |
michael@0 | 27 | var SECTION = "7.1-3"; |
michael@0 | 28 | var VERSION = "ECMA_1"; |
michael@0 | 29 | startTest(); |
michael@0 | 30 | var TITLE = "White Space"; |
michael@0 | 31 | |
michael@0 | 32 | writeHeaderToLog( SECTION + " "+ TITLE); |
michael@0 | 33 | |
michael@0 | 34 | new TestCase( SECTION, "'var'+'\u000B'+'MYVAR1=10;MYVAR1'", 10, eval('var'+'\u000B'+'MYVAR1=10;MYVAR1') ); |
michael@0 | 35 | new TestCase( SECTION, "'var'+'\u0009'+'MYVAR2=10;MYVAR2'", 10, eval('var'+'\u0009'+'MYVAR2=10;MYVAR2') ); |
michael@0 | 36 | new TestCase( SECTION, "'var'+'\u000C'+'MYVAR3=10;MYVAR3'", 10, eval('var'+'\u000C'+'MYVAR3=10;MYVAR3') ); |
michael@0 | 37 | new TestCase( SECTION, "'var'+'\u0020'+'MYVAR4=10;MYVAR4'", 10, eval('var'+'\u0020'+'MYVAR4=10;MYVAR4') ); |
michael@0 | 38 | |
michael@0 | 39 | // +<white space>+ should be interpreted as the unary + operator twice, not as a post or prefix increment operator |
michael@0 | 40 | |
michael@0 | 41 | new TestCase( SECTION, |
michael@0 | 42 | "var VAR = 12345; + + VAR", |
michael@0 | 43 | 12345, |
michael@0 | 44 | eval("var VAR = 12345; + + VAR") ); |
michael@0 | 45 | |
michael@0 | 46 | new TestCase( SECTION, |
michael@0 | 47 | "var VAR = 12345;VAR+ + VAR", |
michael@0 | 48 | 24690, |
michael@0 | 49 | eval("var VAR = 12345;VAR+ +VAR") ); |
michael@0 | 50 | new TestCase( SECTION, |
michael@0 | 51 | "var VAR = 12345;VAR - - VAR", |
michael@0 | 52 | 24690, |
michael@0 | 53 | eval("var VAR = 12345;VAR- -VAR") ); |
michael@0 | 54 | |
michael@0 | 55 | test(); |