not really known
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

78 lines
2.3 KiB

define(["sugar-web/graphics/menupalette", "sugar-web/graphics/palette"], function (menupalette, palette) {
'use strict';
describe("menupalette", function () {
var invoker;
var menuData;
var menuPalette;
beforeEach(function () {
invoker = document.createElement('button');
menuData = [
{
label: "One",
id: "one-button",
icon: true
},
{
label: "Two",
id: "two-button",
icon: true
},
{
label: "Three",
id: "three-button",
icon: true
}
];
menuPalette = new menupalette.MenuPalette(invoker, undefined,
menuData);
});
it("should have a fixed number of clickable items", function () {
var buttons = menuPalette.getPalette().
querySelectorAll('.container button');
expect(buttons.length).toBe(menuData.length);
});
it("should emit a signal with the clicked item", function () {
var button;
var buttonSelected;
function onItemSelected(event) {
button = event.detail.target;
buttonSelected = true;
}
runs(function () {
buttonSelected = false;
menuPalette.addEventListener('selectItem', onItemSelected);
var buttons = menuPalette.getPalette().
querySelectorAll('.container button');
buttons[1].click();
});
waitsFor(function () {
return buttonSelected;
}, "should have selected a button");
runs(function () {
expect(button.id).toBe("two-button");
});
});
it("should be an instance of the child class", function () {
expect(menuPalette instanceof menupalette.MenuPalette).toBe(true);
});
it("should be an instance of the parent class", function () {
expect(menuPalette instanceof palette.Palette).toBe(true);
});
});
});