Пример #1
0
def test_components_flagged():
    """Test that `Components` is flagged in Jetpack."""

    js = """
    var x = Components.services.foo.bar;
    """
    assert not _js_test(js).failed()
    assert _js_test(js, jetpack=True).failed()
Пример #2
0
def test_components_flagged():
    """Test that `Components` is flagged in Jetpack."""

    js = """
    var x = Components.services.foo.bar;
    """
    assert not _js_test(js).failed()
    assert _js_test(js, jetpack=True).failed()
Пример #3
0
def test_observer_service_flagged():
    assert _js_test("""
    var {Ci} = require("chrome");
    thing.QueryInterface(Ci.nsIObserverService);
    """, jetpack=True).failed()

    assert not _js_test("""
    thing.QueryInterface(Ci.nsIObserverService);
    """).failed()
Пример #4
0
def test_observer_service_flagged():
    assert _js_test("""
    var {Ci} = require("chrome");
    thing.QueryInterface(Ci.nsIObserverService);
    """, jetpack=True).failed()

    assert not _js_test("""
    thing.QueryInterface(Ci.nsIObserverService);
    """).failed()
Пример #5
0
def test_absolute_uris_in_js():
    """
    Test that a warning is thrown for absolute URIs within JS files.
    """

    bad_js = 'alert("resource://foo-data/bar/zap.png");'
    assert not _js_test(bad_js).failed()
    err =_js_test(bad_js, jetpack=True)
    assert err.failed()
    assert err.compat_summary['errors']

    # Test that literals are inspected even if they're the result of an
    # operation.
    bad_js = 'alert("resou" + "rce://foo-" + "data/bar/zap.png");'
    assert not _js_test(bad_js).failed()
    err =_js_test(bad_js, jetpack=True)
    assert err.failed()
    assert err.compat_summary['errors']
Пример #6
0
def test_absolute_uris_in_js():
    """
    Test that a warning is thrown for absolute URIs within JS files.
    """

    bad_js = 'alert("resource://foo-data/bar/zap.png");'
    assert not _js_test(bad_js).failed()
    err = _js_test(bad_js, jetpack=True)
    assert err.failed()
    assert err.compat_summary["errors"]

    # Test that literals are inspected even if they're the result of an
    # operation.
    bad_js = 'alert("resou" + "rce://foo-" + "data/bar/zap.png");'
    assert not _js_test(bad_js).failed()
    err = _js_test(bad_js, jetpack=True)
    assert err.failed()
    assert err.compat_summary["errors"]
Пример #7
0
    def interface_cases(interface):
        err = _js_test("""var {cc, ci} = require("%s")""" % interface,
                       jetpack=True)
        print err.print_summary(verbose=True)

        first_message = err.warnings[0]['message']
        assert 'non-SDK interface' in first_message, ('unexpected: %s' %
                                                          first_message)
        assert 'requires_chrome' in err.metadata, \
                'unexpected: "requires_chrome" should be in metadata'
        eq_(err.metadata['requires_chrome'], True)
Пример #8
0
    def interface_cases(interface):
        err = _js_test("""var {cc, ci} = require("%s")""" % interface,
                       jetpack=True)
        print err.print_summary(verbose=True)

        first_message = err.warnings[0]['message']
        assert 'non-SDK interface' in first_message, ('unexpected: %s' %
                                                      first_message)
        assert 'requires_chrome' in err.metadata, \
                'unexpected: "requires_chrome" should be in metadata'
        eq_(err.metadata['requires_chrome'], True)
Пример #9
0
def test_unsafe_safe_require(test_input):
    """Test that requiring low-level modules does add the requires_chrome
    flag."""
    err = _js_test("""var {cc, ci} = require("%s")""" % test_input,
                   jetpack=True)
    print err.print_summary(verbose=True)

    first_message = err.warnings[0]['message']
    assert 'non-SDK interface' in first_message, ('unexpected: %s' %
                                                  first_message)
    assert 'requires_chrome' in err.metadata, \
           'unexpected: "requires_chrome" should be in metadata'
    assert err.metadata['requires_chrome'] is True
Пример #10
0
def test_unsafe_safe_require(test_input):
    """Test that requiring low-level modules does add the requires_chrome
    flag."""
    err = _js_test("""var {cc, ci} = require("%s")""" % test_input,
                   jetpack=True)
    print err.print_summary(verbose=True)

    first_message = err.warnings[0]['message']
    assert 'non-SDK interface' in first_message, ('unexpected: %s' %
                                                  first_message)
    assert 'requires_chrome' in err.metadata, \
           'unexpected: "requires_chrome" should be in metadata'
    assert err.metadata['requires_chrome'] is True
Пример #11
0
 def base_case():
     err = _js_test("""var foo = require("bar");""",
                    jetpack=True)
     eq_(err.metadata['requires_chrome'], False)
Пример #12
0
def test_safe_require():
    """Test that requiring an innocuous module does not add the
    requires_chrome flag."""
    err = _js_test("""var foo = require("bar");""", jetpack=True)
    assert err.metadata['requires_chrome'] is False
Пример #13
0
 def base_case():
     err = _js_test("""var foo = require("bar");""", jetpack=True)
     eq_(err.metadata['requires_chrome'], False)
Пример #14
0
def test_safe_require():
    """Test that requiring an innocuous module does not add the
    requires_chrome flag."""
    err = _js_test("""var foo = require("bar");""", jetpack=True)
    assert err.metadata['requires_chrome'] is False