Skip to content

Commit

Permalink
Bug 1753778 [wpt PR 32703] - Add tentative WPT tests for render-block…
Browse files Browse the repository at this point in the history
…ing script elements, a=testonly

Automatic update from web-platform-tests
Add tentative WPT tests for render-blocking script elements

Tentative spec proposed at: whatwg/html#7474

Bug: 1271296
Change-Id: I2ab9818ff8c3f39bacdbbe8a8d7db1807e097653
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3441107
Reviewed-by: Domenic Denicola <domenic@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#967534}

--

wpt-commits: c5cb41894e3efc5d8e9524b060eff0650f47f3f5
wpt-pr: 32703
  • Loading branch information
xiaochengh authored and moz-wptsync-bot committed Feb 26, 2022
1 parent 35d83da commit 0f03876
Show file tree
Hide file tree
Showing 8 changed files with 121 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!DOCTYPE html>
<title>Parser-blocking script elements are implicitly render-blocking</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/test-render-blocking.js"></script>

<script>
// Add some renderable content before parser inserts body
document.documentElement.appendChild(document.createTextNode('text'));

// Test must be setup before the parser-blocking script
test_render_blocking(
() => assert_equals(window.dummy, 1),
'Parser-blocking script is evaluated');
</script>

<script src="support/dummy-1.js?pipe=trickle(d1)"></script>

<div>Some more text</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!DOCTYPE html>
<title>Parser-inserted async script elements with "blocking=render" are render-blocking</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/test-render-blocking.js"></script>

<script id="async-script" async blocking="render"
src="support/dummy-1.js?pipe=trickle(d1)">
</script>

<div>Some text</div>

<script>
const asyncScript = document.getElementById('async-script');
test_render_blocking(
asyncScript,
() => assert_equals(window.dummy, 1),
'Parser-inserted render-blocking async script is evaluated');
</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!DOCTYPE html>
<title>Parser-inserted defer script elements with "blocking=render" are render-blocking</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/test-render-blocking.js"></script>

<script id="defer-script" defer blocking="render"
src="support/dummy-1.js?pipe=trickle(d1)">
</script>

<div>Some text</div>

<script>
const deferScript = document.getElementById('defer-script');
test_render_blocking(
deferScript,
() => assert_equals(window.dummy, 1),
'Parser-inserted render-blocking defer script is evaluated');
</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!DOCTYPE html>
<title>Parser-inserted module script elements with "blocking=render" are render-blocking</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/test-render-blocking.js"></script>

<script id="module-script" type="module" blocking="render"
src="support/dummy-1.mjs?pipe=trickle(d1)">
</script>

<div id="dummy">some text</div>

<script>
const moduleScript = document.getElementById('module-script');
test_render_blocking(
moduleScript,
() => assert_equals(document.getElementById('dummy').textContent, '1'),
'Parser-inserted render-blocking module script is evaluated');
</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<!DOCTYPE html>
<title>Script-inserted module script elements with "blocking=render" are render-blocking</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/test-render-blocking.js"></script>

<script>
const moduleScript = document.createElement('script');
moduleScript.type = 'module';
moduleScript.blocking = 'render';
moduleScript.src = 'support/dummy-1.mjs?pipe=trickle(d1)';
document.head.appendChild(moduleScript);
</script>

<div id="dummy">some text</div>

<script>
test_render_blocking(
moduleScript,
() => assert_equals(document.getElementById('dummy').textContent, '1'),
'Script-inserted render-blocking module script is evaluated');
</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!DOCTYPE html>
<title>Script-inserted script elements with "blocking=render" are render-blocking</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/test-render-blocking.js"></script>

<script>
const script = document.createElement('script');
script.src = 'support/dummy-1.js?pipe=trickle(d1)';
script.blocking = 'render';
document.head.appendChild(script);
</script>

<div>Some text</div>

<script>
test_render_blocking(
script,
() => assert_equals(window.dummy, 1),
'Script-inserted render-blocking script is evaluated');
</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
window.dummy = 1;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
document.getElementById('dummy').textContent = 1;

0 comments on commit 0f03876

Please sign in to comment.