def test_doctype():
    "Asserts that install.rdf files with doctypes break validation"

    err = ErrorBundle()
    xpi = MockXPIManager(
            {"install.rdf": "tests/resources/installrdf/doctype.rdf"})
    submain._load_install_rdf(err, xpi, None)
    assert err.failed()
    assert not err.get_resource("has_install_rdf")
    assert not err.get_resource("install_rdf")
def _run_test(filename, expectation, should_fail=True):

    name = "tests/resources/submain/%s" % filename
    pack = open(name)
    xpi = XPIManager(pack, mode="r", name=name)
    err = ErrorBundle(None, True)

    submain._load_install_rdf(err, xpi, expectation)

    if should_fail:
        assert err.failed()
    else:
        assert not err.failed()
        assert err.get_resource("install_rdf")

    return err