blob: b93fab31341c28acc8c7648fcad85705d688d855 [file] [log] [blame]
<script src="../../../resources/js-test-pre.js"></script>
<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
<body>
<script type="text/javascript">
description("Testing the <code>Placard</code> class.");
debug("Placard with all parameters");
const placard = new Placard({
iconName: Icons.AirplayPlacard,
title: "My title",
description: "My description",
layoutDelegate: { layoutTraits: LayoutTraits.macOS }
});
shouldBeEqualToString("placard.element.localName", "div");
shouldBeEqualToString("placard.element.className", "placard");
shouldBe("placard.children.length", "1");
shouldBeEqualToString("placard.children[0].element.localName", "div");
shouldBeEqualToString("placard.children[0].element.className", "container");
shouldBe("placard.children[0].children.length", "3");
shouldBeTrue("placard.children[0].children[0] instanceof Button");
shouldBe("placard.children[0].children[0].iconName", "Icons.AirplayPlacard");
shouldBeTrue("placard.children[0].children[0].element.disabled");
shouldBeTrue("placard.children[0].children[1] instanceof LayoutNode");
shouldBeEqualToString("placard.children[0].children[1].element.localName", "div");
shouldBeEqualToString("placard.children[0].children[1].element.className", "title");
shouldBeEqualToString("placard.children[0].children[1].element.innerText", "My title");
shouldBeTrue("placard.children[0].children[2] instanceof LayoutNode");
shouldBeEqualToString("placard.children[0].children[2].element.localName", "div");
shouldBeEqualToString("placard.children[0].children[2].element.className", "description");
shouldBeEqualToString("placard.children[0].children[2].element.innerText", "My description");
debug("");
debug("Placard without any parameter");
const defaultPlacard = new Placard;
shouldBe("defaultPlacard.children[0].children.length", "0");
debug("");
debug("Placard with only a description");
const onlyDescriptionPlacard = new Placard({ description: "My description" });
shouldBe("onlyDescriptionPlacard.children[0].children.length", "1");
shouldBeTrue("onlyDescriptionPlacard.children[0].children[0] instanceof LayoutNode");
shouldBeEqualToString("onlyDescriptionPlacard.children[0].children[0].element.className", "description");
debug("");
debug("Placard with only a title");
const onlyTitlePlacard = new Placard({ title: "My title" });
shouldBe("onlyTitlePlacard.children[0].children.length", "1");
shouldBeTrue("onlyTitlePlacard.children[0].children[0] instanceof LayoutNode");
shouldBeEqualToString("onlyTitlePlacard.children[0].children[0].element.className", "title");
debug("");
debug("Placard with only an icon");
const onlyIconPlacard = new Placard({ iconName: Icons.AirplayPlacard, layoutDelegate: { layoutTraits: LayoutTraits.macOS } });
shouldBe("onlyIconPlacard.children[0].children.length", "1");
shouldBeTrue("onlyIconPlacard.children[0].children[0] instanceof Button");
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>