Add multi-host test case for declarative Shadow DOM

This case was not previously tested.

Bug: 1042130
Change-Id: I5874bc08abba57b6d5150ab8ae772ecec6113b19
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2161767
Commit-Queue: Mason Freed <masonfreed@chromium.org>
Auto-Submit: Mason Freed <masonfreed@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#762045}
diff --git a/shadow-dom/declarative/declarative-shadow-dom-basic.tentative.html b/shadow-dom/declarative/declarative-shadow-dom-basic.tentative.html
index 792d4bf..c8a00f5 100644
--- a/shadow-dom/declarative/declarative-shadow-dom-basic.tentative.html
+++ b/shadow-dom/declarative/declarative-shadow-dom-basic.tentative.html
@@ -113,5 +113,24 @@
   assert_true(!!host.shadowRoot,"No shadow root found");
   assert_false(host.shadowRoot.delegatesFocus,"delegatesFocus should be false without the shadowrootdelegatesfocus attribute");
 }, 'Declarative Shadow DOM: delegates focus attribute');
+</script>
+
+<div id="multi-host">
+  <template shadowroot="open">
+    <span>root 1</span>
+  </template>
+  <template shadowroot="closed">
+    <span>root 2</span>
+  </template>
+</div>
+
+<script>
+test(() => {
+  const host = document.querySelector('#multi-host');
+  assert_equals(host.querySelector('template'), null, "No leftover template nodes from either root");
+  assert_true(!!host.shadowRoot,"No open shadow root found - first root should remain");
+  const innerSpan = host.shadowRoot.querySelector('span');
+  assert_equals(innerSpan.textContent, 'root 2', "Content should come from last declarative shadow root");
+}, 'Declarative Shadow DOM: Multiple roots');
 
 </script>