it("should collect content tags from ViewContainers", () => {
   var tag = new FakeContentTag(el('<script></script>'));
   var vc = new FakeViewContainer(null, null, [new FakeView([tag])]);
   var shadowDomView = new FakeView([vc]);
   var lightDom = new LightDom(lightDomView, shadowDomView, el("<div></div>"));
   expect(lightDom.contentTags()).toEqual([tag]);
 });
 it("should support wildcard content tags", () => {
   var wildcard = new FakeContentTag(null, '');
   var contentB = new FakeContentTag(null, "b");
   var lightDomEl = el("<div><a>1</a><b>2</b><a>3</a></div>");
   var lightDom = new LightDom(lightDomView, new FakeView([wildcard, contentB]), lightDomEl);
   lightDom.redistribute();
   expect(toHtml(wildcard.nodes())).toEqual(["<a>1</a>", "<b>2</b>", "<a>3</a>"]);
   expect(toHtml(contentB.nodes())).toEqual([]);
 });
 it("should redistribute nodes between content tags with select property set", () => {
   var contentA = new FakeContentTag(null, "a");
   var contentB = new FakeContentTag(null, "b");
   var lightDomEl = el("<div><a>1</a><b>2</b><a>3</a></div>");
   var lightDom = new LightDom(lightDomView, new FakeView([contentA, contentB]), lightDomEl);
   lightDom.redistribute();
   expect(toHtml(contentA.nodes())).toEqual(["<a>1</a>", "<a>3</a>"]);
   expect(toHtml(contentB.nodes())).toEqual(["<b>2</b>"]);
 });
 it("should collect content tags from element injectors", () => {
   var tag = new FakeContentTag(el('<script></script>'));
   var shadowDomView = new FakeView([tag]);
   var lightDom = new LightDom(lightDomView, shadowDomView, el("<div></div>"));
   expect(lightDom.contentTags()).toEqual([tag]);
 });
 it("should work when the element injector array contains nulls", () => {
   var lightDomEl = el("<div><a></a></div>");
   var lightDomView = new FakeView();
   var lightDom = new LightDom(lightDomView, new FakeView(), lightDomEl);
   expect(toHtml(lightDom.expandedDomNodes())).toEqual(["<a></a>"]);
 });
 it("should include content nodes", () => {
   var lightDomEl = el("<div><content></content></div>");
   var lightDom = new LightDom(new FakeView([new FakeContentTag(DOM.firstChild(lightDomEl), '', [el('<a></a>')])]), null, lightDomEl);
   expect(toHtml(lightDom.expandedDomNodes())).toEqual(["<a></a>"]);
 });
 it("should include view container nodes", () => {
   var lightDomEl = el("<div><template></template></div>");
   var lightDom = new LightDom(new FakeView([new FakeViewContainer(DOM.firstChild(lightDomEl), [el('<a></a>')])]), null, lightDomEl);
   expect(toHtml(lightDom.expandedDomNodes())).toEqual(["<a></a>"]);
 });
 it("should contain root nodes", () => {
   var lightDomEl = el("<div><a></a></div>");
   var lightDom = new LightDom(lightDomView, new FakeView(), lightDomEl);
   expect(toHtml(lightDom.expandedDomNodes())).toEqual(["<a></a>"]);
 });