Source code

Revision control

Copy as Markdown

Other Tools

/* -*- 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/. */
//-----------------------------------------------------------------------------
var BUGNUMBER = 321757;
var summary = 'Compound assignment operators should not bind LHS';
var actual = '';
var expect = 'pass';
printBugNumber(BUGNUMBER);
printStatus (summary);
try
{
foo += 1;
actual = "fail";
}
catch (e)
{
actual = "pass";
}
reportCompare(expect, actual, summary + ': +=');
try
{
foo -= 1;
actual = "fail";
}
catch (e)
{
actual = "pass";
}
reportCompare(expect, actual, summary + ': -=');
try
{
foo *= 1;
actual = "fail";
}
catch (e)
{
actual = "pass";
}
reportCompare(expect, actual, summary + ': *=');
try
{
foo /= 1;
actual = "fail";
}
catch (e)
{
actual = "pass";
}
reportCompare(expect, actual, summary + ': /=');
try
{
foo %= 1;
actual = "fail";
}
catch (e)
{
actual = "pass";
}
reportCompare(expect, actual, summary + ': %=');
try
{
foo <<= 1;
actual = "fail";
}
catch (e)
{
actual = "pass";
}
reportCompare(expect, actual, summary + ': <<=');
try
{
foo >>= 1;
actual = "fail";
}
catch (e)
{
actual = "pass";
}
reportCompare(expect, actual, summary + ': >>=');
try
{
foo >>>= 1;
actual = "fail";
}
catch (e)
{
actual = "pass";
}
reportCompare(expect, actual, summary + ': >>>=');