<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
    var loaded = 0;
    var expectedToLoad = 3;
</script>
<script src="/WebKit/preload/resources/classic.js?simple" onload="++loaded;"></script>
<script nomodule src="/WebKit/preload/resources/classic.js?nomodule"></script>
<script type="module" src="/WebKit/preload/resources/module.js?simple" onload="++loaded;"></script>
<script nomodule type="module" src="/WebKit/preload/resources/module.js?nomodule" onload="++loaded;"></script> <!-- nomodule does not affect on module tag -->
<script src="/WebKit/preload/resources/dummy.js?pipe=trickle(d0.5)"></script>
<script>
    var t = async_test('Makes sure that preloaded resources are not downloaded when the script is attributed with nomodule.');
    window.setInterval(t.step_func(function() {
        function verifyDownloadNumber(url, number) {
            var absolute_url = new URL(url, window.location.href);
            assert_equals(performance.getEntriesByName(absolute_url).length, number, url);
        }
        if (loaded == expectedToLoad) {
            verifyDownloadNumber("/WebKit/preload/resources/classic.js?simple", 1);
            verifyDownloadNumber("/WebKit/preload/resources/classic.js?nomodule", 0);
            verifyDownloadNumber("/WebKit/preload/resources/module.js?simple", 1);
            verifyDownloadNumber("/WebKit/preload/resources/module.js?nomodule", 1);
            t.done();
        }
    }), 200);
</script>
<span>foo</span>
