<!DOCTYPE html>
<html>
<head>
<title>An external module script with nomodule must run</title>
<link rel="author" title="Yusuke Suzuki" href="mailto:utatane.tea@gmail.com">
<link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<script nomodule type="module" src="./resources/exports-cocoa.js"></script>
<script>

waitForLoadEvent = new Promise((resolve) => {
    window.onload = resolve;
});

promise_test(() => {
    return waitForLoadEvent.then(() => {
        assert_equals(typeof cocoa, 'undefined');
        assert_equals(typeof exportedCocoa, 'object');
        assert_equals(exportedCocoa.taste(), 'awesome');
    });
}, 'An external module script with nomodule content attribute must run');

</script>
</body>
</html>
