2015-03-23 12:01:00 +00:00
|
|
|
/* vim: set ts=2 et sw=2 tw=80: */
|
|
|
|
/* Any copyright is dedicated to the Public Domain.
|
|
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
// Tests that the CubicBezierPresetWidget cycles menus
|
|
|
|
|
2015-09-21 17:02:37 +00:00
|
|
|
const TEST_URI = "chrome://devtools/content/shared/widgets/cubic-bezier-frame.xhtml";
|
2015-03-23 12:01:00 +00:00
|
|
|
const {CubicBezierPresetWidget} =
|
2015-09-21 17:04:18 +00:00
|
|
|
require("devtools/client/shared/widgets/CubicBezierWidget");
|
2015-03-23 12:01:00 +00:00
|
|
|
const {PREDEFINED, PRESETS, DEFAULT_PRESET_CATEGORY} =
|
2015-09-21 17:04:18 +00:00
|
|
|
require("devtools/client/shared/widgets/CubicBezierPresets");
|
2015-03-23 12:01:00 +00:00
|
|
|
|
|
|
|
add_task(function*() {
|
2015-11-10 19:48:51 +00:00
|
|
|
yield addTab("about:blank");
|
2015-03-23 12:01:00 +00:00
|
|
|
let [host, win, doc] = yield createHost("bottom", TEST_URI);
|
|
|
|
|
|
|
|
let container = doc.querySelector("#container");
|
|
|
|
let w = new CubicBezierPresetWidget(container);
|
|
|
|
|
|
|
|
info("Checking that preset is selected if coordinates are known");
|
|
|
|
|
|
|
|
w.refreshMenu([0, 0, 0, 0]);
|
|
|
|
is(w.activeCategory, container.querySelector(`#${DEFAULT_PRESET_CATEGORY}`),
|
|
|
|
"The default category is selected");
|
|
|
|
is(w._activePreset, null, "There is no selected category");
|
|
|
|
|
|
|
|
w.refreshMenu(PREDEFINED["linear"]);
|
|
|
|
is(w.activeCategory, container.querySelector("#ease-in-out"),
|
|
|
|
"The ease-in-out category is active");
|
|
|
|
is(w._activePreset, container.querySelector("#ease-in-out-linear"),
|
|
|
|
"The ease-in-out-linear preset is active");
|
|
|
|
|
|
|
|
w.refreshMenu(PRESETS["ease-out"]["ease-out-sine"]);
|
|
|
|
is(w.activeCategory, container.querySelector("#ease-out"),
|
|
|
|
"The ease-out category is active");
|
|
|
|
is(w._activePreset, container.querySelector("#ease-out-sine"),
|
|
|
|
"The ease-out-sine preset is active");
|
|
|
|
|
|
|
|
w.refreshMenu([0, 0, 0, 0]);
|
|
|
|
is(w.activeCategory, container.querySelector("#ease-out"),
|
|
|
|
"The ease-out category is still active");
|
|
|
|
is(w._activePreset, null, "No preset is active");
|
|
|
|
|
|
|
|
w.destroy();
|
|
|
|
host.destroy();
|
|
|
|
gBrowser.removeCurrentTab();
|
|
|
|
});
|