[Forms] Add ColorController spec
Add spec for ColorController, introduced to support color selection in the Fixed Position toolbar, WTD-881
This commit is contained in:
51
platform/forms/test/controllers/ColorControllerSpec.js
Normal file
51
platform/forms/test/controllers/ColorControllerSpec.js
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
/*global define,describe,it,expect,beforeEach,waitsFor,jasmine*/
|
||||||
|
|
||||||
|
define(
|
||||||
|
["../../src/controllers/ColorController"],
|
||||||
|
function (ColorController) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var COLOR_REGEX = /^#[0-9a-fA-F]{6}$/;
|
||||||
|
|
||||||
|
describe("The color picker's controller", function () {
|
||||||
|
var controller;
|
||||||
|
|
||||||
|
beforeEach(function () {
|
||||||
|
controller = new ColorController();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("exposes groups of colors", function () {
|
||||||
|
var groups = controller.groups();
|
||||||
|
|
||||||
|
// Make sure that the groups array is non-empty
|
||||||
|
expect(Array.isArray(groups)).toBeTruthy();
|
||||||
|
expect(groups.length).not.toEqual(0);
|
||||||
|
|
||||||
|
groups.forEach(function (group) {
|
||||||
|
// Make sure each group is a non-empty array
|
||||||
|
expect(Array.isArray(group)).toBeTruthy();
|
||||||
|
expect(group.length).not.toEqual(0);
|
||||||
|
// Make sure they're valid web colors
|
||||||
|
group.forEach(function (color) {
|
||||||
|
expect(COLOR_REGEX.test(color)).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("exposes unique colors", function () {
|
||||||
|
var count = 0, set = {};
|
||||||
|
|
||||||
|
// Count each color, and add them to the set
|
||||||
|
controller.groups().forEach(function (group) {
|
||||||
|
group.forEach(function (color) {
|
||||||
|
count += 1;
|
||||||
|
set[color] = true;
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
// Size of set should be number of colors if all were unique
|
||||||
|
expect(Object.keys(set).length).toEqual(count);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
[
|
[
|
||||||
"MCTControl",
|
"MCTControl",
|
||||||
"MCTForm",
|
"MCTForm",
|
||||||
|
"controllers/ColorController",
|
||||||
"controllers/CompositeController",
|
"controllers/CompositeController",
|
||||||
"controllers/DateTimeController",
|
"controllers/DateTimeController",
|
||||||
"controllers/FormController"
|
"controllers/FormController"
|
||||||
|
|||||||
Reference in New Issue
Block a user