コード例 #1
0
ファイル: test_jetpack.py プロジェクト: kewisch/amo-validator
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
ファイル: test_jetpack.py プロジェクト: kewisch/amo-validator
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
ファイル: test_jetpack.py プロジェクト: kewisch/amo-validator
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
ファイル: test_jetpack.py プロジェクト: kewisch/amo-validator
    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
ファイル: test_jetpack.py プロジェクト: diox/amo-validator
    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
ファイル: test_jetpack.py プロジェクト: kewisch/amo-validator
 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
ファイル: test_jetpack.py プロジェクト: diox/amo-validator
 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