From 700edc6e05669c5a9b25017cf4605d2d710f6892 Mon Sep 17 00:00:00 2001 From: Marcos Caceres Date: Wed, 1 Mar 2017 19:57:45 +1100 Subject: [PATCH] fix(core/webidl-index): don't clone IDs into idl-index (closes #1119) --- src/core/webidl-index.js | 4 ++++ tests/spec/core/idl-index-spec.js | 24 +++++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/core/webidl-index.js b/src/core/webidl-index.js index 5347318018..b55ee3818c 100644 --- a/src/core/webidl-index.js +++ b/src/core/webidl-index.js @@ -54,6 +54,10 @@ export function run(conf, doc, cb) { collector.appendChild(elem); return collector; }, pre); + // Remove duplicate IDs + Array + .from(pre.querySelectorAll("*[id]")) + .forEach(elem => elem.removeAttribute("id")); virtualSummary.appendChild(pre); idlIndexSec.appendChild(virtualSummary); cb(); diff --git a/tests/spec/core/idl-index-spec.js b/tests/spec/core/idl-index-spec.js index 55f46492ef..223e831520 100644 --- a/tests/spec/core/idl-index-spec.js +++ b/tests/spec/core/idl-index-spec.js @@ -1,6 +1,6 @@ "use strict"; describe("Core — IDL Index", () => { - afterAll( done => { + afterAll(done => { flushIframes(); done(); }); @@ -64,4 +64,26 @@ interface Bar { expect(doc.querySelectorAll("#idl-index > h2").length).toEqual(1); }).then(done); }); + it("doesn't include ids in the cloned indexed", done => { + const body = ` + ${makeDefaultBody()} +
+      interface Test {
+
+      };
+      
+
+

PASS

+

Custom paragraph.

+
+ `; + var ops = { + config: makeBasicConfig(), + body, + }; + makeRSDoc(ops, function(doc) { + const pre = doc.querySelector("#idl-index pre"); + expect(pre.querySelectorAll("*[id]").length).toEqual(0); + }).then(done); + }); });