browser_cubic-bezier-04.js (1907B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 // Tests that the CubicBezierPresetWidget generates markup. 7 8 const { 9 CubicBezierPresetWidget, 10 } = require("resource://devtools/client/shared/widgets/CubicBezierWidget.js"); 11 const { 12 PRESETS, 13 } = require("resource://devtools/client/shared/widgets/CubicBezierPresets.js"); 14 15 const TEST_URI = CHROME_URL_ROOT + "doc_cubic-bezier-01.html"; 16 17 add_task(async function () { 18 const { host, doc } = await createHost("bottom", TEST_URI); 19 20 const container = doc.querySelector("#cubic-bezier-container"); 21 const w = new CubicBezierPresetWidget(container); 22 23 info("Checking that the presets are created in the parent"); 24 ok(container.querySelector(".preset-pane"), "The preset pane has been added"); 25 26 ok( 27 container.querySelector("#preset-categories"), 28 "The preset categories have been added" 29 ); 30 const categories = container.querySelectorAll(".category"); 31 is( 32 categories.length, 33 Object.keys(PRESETS).length, 34 "The preset categories have been added" 35 ); 36 Object.keys(PRESETS).forEach(category => { 37 ok(container.querySelector("#" + category), `${category} has been added`); 38 ok( 39 container.querySelector("#preset-category-" + category), 40 `The preset list for ${category} has been added.` 41 ); 42 }); 43 44 info("Checking that each of the presets and its preview have been added"); 45 Object.keys(PRESETS).forEach(category => { 46 Object.keys(PRESETS[category]).forEach(presetLabel => { 47 const preset = container.querySelector("#" + presetLabel); 48 ok(preset, `${presetLabel} has been added`); 49 ok( 50 preset.querySelector("canvas"), 51 `${presetLabel}'s canvas preview has been added` 52 ); 53 ok(preset.querySelector("p"), `${presetLabel}'s label has been added`); 54 }); 55 }); 56 57 w.destroy(); 58 host.destroy(); 59 });