| // |reftest| skip-if(Android) |
| /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
| |
| /* |
| * Any copyright is dedicated to the Public Domain. |
| * http://creativecommons.org/licenses/publicdomain/ |
| */ |
| |
| /* |
| * In strict mode, generator expressions may not locally bind 'eval' |
| * or 'arguments.' |
| */ |
| assertEq(testLenientAndStrict('(1 for (eval in []))', |
| parsesSuccessfully, |
| parseRaisesException(SyntaxError)), |
| true); |
| assertEq(testLenientAndStrict('(1 for ([eval] in []))', |
| parsesSuccessfully, |
| parseRaisesException(SyntaxError)), |
| true); |
| assertEq(testLenientAndStrict('(1 for ({x:eval} in []))', |
| parsesSuccessfully, |
| parseRaisesException(SyntaxError)), |
| true); |
| assertEq(testLenientAndStrict('(1 for (arguments in []))', |
| parsesSuccessfully, |
| parseRaisesException(SyntaxError)), |
| true); |
| assertEq(testLenientAndStrict('(1 for ([arguments] in []))', |
| parsesSuccessfully, |
| parseRaisesException(SyntaxError)), |
| true); |
| assertEq(testLenientAndStrict('(1 for ({x:arguments} in []))', |
| parsesSuccessfully, |
| parseRaisesException(SyntaxError)), |
| true); |
| |
| reportCompare(true, true); |