michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: //----------------------------------------------------------------------------- michael@0: var BUGNUMBER = 345736; michael@0: var summary = 'for each in array comprehensions'; michael@0: var actual = ''; michael@0: var expect = ''; michael@0: michael@0: michael@0: //----------------------------------------------------------------------------- michael@0: test(); michael@0: //----------------------------------------------------------------------------- michael@0: michael@0: function test() michael@0: { michael@0: enterFunc ('test'); michael@0: printBugNumber(BUGNUMBER); michael@0: printStatus (summary); michael@0: michael@0: var arr; michael@0: michael@0: arr=[x+x for (x in ["a","b","c"])]; michael@0: michael@0: expect = '00,11,22'; michael@0: actual = arr.toString(); michael@0: reportCompare(expect, actual, summary); michael@0: michael@0: arr=[x+x for each (x in ["a","b","c"])]; michael@0: michael@0: expect = 'aa,bb,cc'; michael@0: actual = arr.toString(); michael@0: reportCompare(expect, actual, summary); michael@0: michael@0: arr=[x+x for ([,x] in ["a","b","c"])]; michael@0: expect = 'aa,bb,cc'; michael@0: actual = arr.toString(); michael@0: michael@0: arr=[x+y for ([x,y] in ["a","b","c"])]; michael@0: expect = '0a,1b,2c'; michael@0: actual = arr.toString(); michael@0: michael@0: exitFunc ('test'); michael@0: }