/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ /** File Name: 7.6.js ECMA Section: Punctuators Description: This tests verifies that all ECMA punctutors are recognized as a token separator, but does not attempt to verify the functionality of any punctuator. Author: christine@netscape.com Date: 12 november 1997 */ var SECTION = "7.6"; var VERSION = "ECMA_1"; startTest(); var TITLE = "Punctuators"; writeHeaderToLog( SECTION + " "+ TITLE); // == new TestCase( SECTION, "var c,d;c==d", true, eval("var c,d;c==d") ); // = new TestCase( SECTION, "var a=true;a", true, eval("var a=true;a") ); // > new TestCase( SECTION, "var a=true,b=false;a>b", true, eval("var a=true,b=false;a>b") ); // < new TestCase( SECTION, "var a=true,b=false;a= new TestCase( SECTION, "var a=0xFFFF,b=0XFFFE;a>=b", true, eval("var a=0xFFFF,b=0XFFFE;a>=b") ); // != new TestCase( SECTION, "var a=true,b=false;a!=b", true, eval("var a=true,b=false;a!=b") ); new TestCase( SECTION, "var a=false,b=false;a!=b", false, eval("var a=false,b=false;a!=b") ); // , new TestCase( SECTION, "var a=true,b=false;a,b", false, eval("var a=true,b=false;a,b") ); // ! new TestCase( SECTION, "var a=true,b=false;!a", false, eval("var a=true,b=false;!a") ); // ~ new TestCase( SECTION, "var a=true;~a", -2, eval("var a=true;~a") ); // ? new TestCase( SECTION, "var a=true; (a ? 'PASS' : '')", "PASS", eval("var a=true; (a ? 'PASS' : '')") ); // : new TestCase( SECTION, "var a=false; (a ? 'FAIL' : 'PASS')", "PASS", eval("var a=false; (a ? 'FAIL' : 'PASS')") ); // . new TestCase( SECTION, "var a=Number;a.NaN", NaN, eval("var a=Number;a.NaN") ); // && new TestCase( SECTION, "var a=true,b=true;if(a&&b)'PASS';else'FAIL'", "PASS", eval("var a=true,b=true;if(a&&b)'PASS';else'FAIL'") ); // || new TestCase( SECTION, "var a=false,b=false;if(a||b)'FAIL';else'PASS'", "PASS", eval("var a=false,b=false;if(a||b)'FAIL';else'PASS'") ); // ++ new TestCase( SECTION, "var a=false,b=false;++a", 1, eval("var a=false,b=false;++a") ); // -- new TestCase( SECTION, "var a=true,b=false--a", 0, eval("var a=true,b=false;--a") ); // + new TestCase( SECTION, "var a=true,b=true;a+b", 2, eval("var a=true,b=true;a+b") ); // - new TestCase( SECTION, "var a=true,b=true;a-b", 0, eval("var a=true,b=true;a-b") ); // * new TestCase( SECTION, "var a=true,b=true;a*b", 1, eval("var a=true,b=true;a*b") ); // / new TestCase( SECTION, "var a=true,b=true;a/b", 1, eval("var a=true,b=true;a/b") ); // & new TestCase( SECTION, "var a=3,b=2;a&b", 2, eval("var a=3,b=2;a&b") ); // | new TestCase( SECTION, "var a=4,b=3;a|b", 7, eval("var a=4,b=3;a|b") ); // | new TestCase( SECTION, "var a=4,b=3;a^b", 7, eval("var a=4,b=3;a^b") ); // % new TestCase( SECTION, "var a=4,b=3;a|b", 1, eval("var a=4,b=3;a%b") ); // << new TestCase( SECTION, "var a=4,b=3;a<> new TestCase( SECTION, "var a=4,b=1;a>>b", 2, eval("var a=4,b=1;a>>b") ); // >>> new TestCase( SECTION, "var a=1,b=1;a>>>b", 0, eval("var a=1,b=1;a>>>b") ); // += new TestCase( SECTION, "var a=4,b=3;a+=b;a", 7, eval("var a=4,b=3;a+=b;a") ); // -= new TestCase( SECTION, "var a=4,b=3;a-=b;a", 1, eval("var a=4,b=3;a-=b;a") ); // *= new TestCase( SECTION, "var a=4,b=3;a*=b;a", 12, eval("var a=4,b=3;a*=b;a") ); // += new TestCase( SECTION, "var a=4,b=3;a+=b;a", 7, eval("var a=4,b=3;a+=b;a") ); // /= new TestCase( SECTION, "var a=12,b=3;a/=b;a", 4, eval("var a=12,b=3;a/=b;a") ); // &= new TestCase( SECTION, "var a=4,b=5;a&=b;a", 4, eval("var a=4,b=5;a&=b;a") ); // |= new TestCase( SECTION, "var a=4,b=5;a&=b;a", 5, eval("var a=4,b=5;a|=b;a") ); // ^= new TestCase( SECTION, "var a=4,b=5;a^=b;a", 1, eval("var a=4,b=5;a^=b;a") ); // %= new TestCase( SECTION, "var a=12,b=5;a%=b;a", 2, eval("var a=12,b=5;a%=b;a") ); // <<= new TestCase( SECTION, "var a=4,b=3;a<<=b;a", 32, eval("var a=4,b=3;a<<=b;a") ); // >> new TestCase( SECTION, "var a=4,b=1;a>>=b;a", 2, eval("var a=4,b=1;a>>=b;a") ); // >>> new TestCase( SECTION, "var a=1,b=1;a>>>=b;a", 0, eval("var a=1,b=1;a>>>=b;a") ); // () new TestCase( SECTION, "var a=4,b=3;(a)", 4, eval("var a=4,b=3;(a)") ); // {} new TestCase( SECTION, "var a=4,b=3;{b}", 3, eval("var a=4,b=3;{b}") ); // [] new TestCase( SECTION, "var a=new Array('hi');a[0]", "hi", eval("var a=new Array('hi');a[0]") ); // [] new TestCase( SECTION, ";", void 0, eval(";") ); test();