def test_redefinition():
    """Test that global objects can't be redefined."""

    err = _do_test("tests/resources/bug_538016.js")
    # There should be eight errors.
    print err.message_count
    assert err.message_count == 8
def test_typecasting():
    "Tests that strings are treated as numbers when necessary"
    
    err = _do_test("tests/resources/javascript/strings_typecasting.js")
    assert err.message_count == 0

    assert _get_var(err, "x") == "44"
    assert _get_var(err, "y") == 16
def test_typecasting():
    "Tests that strings are treated as numbers when necessary"

    err = _do_test("tests/resources/javascript/strings_typecasting.js")
    assert err.message_count == 0

    assert _get_var(err, "x") == "44"
    assert _get_var(err, "y") == 16
def test_typecasting():
    'Tests that strings are treated as numbers when necessary'

    err = _do_test('tests/resources/javascript/strings_typecasting.js')
    assert err.message_count == 0

    assert _get_var(err, 'x') == '44'
    assert _get_var(err, 'y') == 16
def test_typecasting():
    'Tests that strings are treated as numbers when necessary'

    err = _do_test('tests/resources/javascript/strings_typecasting.js')
    assert err.message_count == 0

    assert _get_var(err, 'x') == '44'
    assert _get_var(err, 'y') == 16
def test_basic_concatenation():
    "Tests that contexts work and that basic concat ops are executed properly"
    
    err = _do_test("tests/resources/javascript/basicstrings.js")
    assert err.message_count == 0
    
    assert _get_var(err, "x") == "foo"
    assert _get_var(err, "y") == "bar"
    assert _get_var(err, "z") == "foobar"
    assert _get_var(err, "a") == "5"
    assert _get_var(err, "b") == "6"
    assert _get_var(err, "c") == "56"
    assert _get_var(err, "d") == 1
    assert _get_var(err, "e") == 30
    assert _get_var(err, "f") == 5
def test_basic_concatenation():
    "Tests that contexts work and that basic concat ops are executed properly"

    err = _do_test("tests/resources/javascript/basicstrings.js")
    assert err.message_count == 0

    assert _get_var(err, "x") == "foo"
    assert _get_var(err, "y") == "bar"
    assert _get_var(err, "z") == "foobar"
    assert _get_var(err, "a") == "5"
    assert _get_var(err, "b") == "6"
    assert _get_var(err, "c") == "56"
    assert _get_var(err, "d") == 1
    assert _get_var(err, "e") == 30
    assert _get_var(err, "f") == 5
def test_basic_concatenation():
    'Tests that contexts work and that basic concat ops are executed properly'

    err = _do_test('tests/resources/javascript/basicstrings.js')
    assert err.message_count == 0

    assert _get_var(err, 'x') == 'foo'
    assert _get_var(err, 'y') == 'bar'
    assert _get_var(err, 'z') == 'foobar'
    assert _get_var(err, 'a') == '5'
    assert _get_var(err, 'b') == '6'
    assert _get_var(err, 'c') == '56'
    assert _get_var(err, 'd') == 1
    assert _get_var(err, 'e') == 30
    assert _get_var(err, 'f') == 5
def test_basic_concatenation():
    'Tests that contexts work and that basic concat ops are executed properly'

    err = _do_test('tests/resources/javascript/basicstrings.js')
    assert err.message_count == 0

    assert _get_var(err, 'x') == 'foo'
    assert _get_var(err, 'y') == 'bar'
    assert _get_var(err, 'z') == 'foobar'
    assert _get_var(err, 'a') == '5'
    assert _get_var(err, 'b') == '6'
    assert _get_var(err, 'c') == '56'
    assert _get_var(err, 'd') == 1
    assert _get_var(err, 'e') == 30
    assert _get_var(err, 'f') == 5
def test_double_escaped():
    """Test that escaped characters don't result in errors."""

    err = _do_test("tests/resources/bug_626878.js")
    assert not err.message_count