/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; // Tests that color swatches are displayed next to colors in the rule-view. const TEST_URI = ` Testing the color picker tooltip! `; // Tests that properties in the rule-view contain color swatches. // Each entry in the test array should contain: // { // selector: the rule-view selector to look for the property in // propertyName: the property to test // nb: the number of color swatches this property should have // } const TESTS = [ { selector: "body", propertyName: "color", nb: 1 }, { selector: "body", propertyName: "background-color", nb: 1 }, { selector: "body", propertyName: "border", nb: 1 }, { selector: "*", propertyName: "color", nb: 1 }, { selector: "*", propertyName: "background", nb: 26 }, { selector: "*", propertyName: "box-shadow", nb: 2 }, { selector: "*", propertyName: "filter", nb: 1 }, { selector: "*", propertyName: "text-shadow", nb: 3 }, ]; add_task(async function () { await pushPref("layout.css.color-mix.enabled", true); await addTab("data:text/html;charset=utf-8," + encodeURIComponent(TEST_URI)); const { view } = await openRuleView(); for (const { selector, propertyName, nb } of TESTS) { info( "Looking for color swatches in property " + propertyName + " in selector " + selector ); const prop = ( await getRuleViewProperty(view, selector, propertyName, { wait: true }) ).valueSpan; const swatches = prop.querySelectorAll(".ruleview-colorswatch"); ok(swatches.length, "Swatches found in the property"); is(swatches.length, nb, "Correct number of swatches found in the property"); } });