forked from newagebegins/BattleCity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMainMenuSpec.js
38 lines (36 loc) · 1.32 KB
/
MainMenuSpec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
describe("MainMenu", function () {
it("#nextItem", function () {
var sceneManager = new SceneManager();
var firstItem = new OnePlayerMenuItem(sceneManager);
var secondItem = new ConstructionMenuItem(sceneManager);
var menu = new MainMenu();
menu.setItems([firstItem, secondItem]);
expect(menu.getCurrentItem()).toBe(firstItem);
menu.nextItem();
expect(menu.getCurrentItem()).toBe(secondItem);
menu.nextItem();
expect(menu.getCurrentItem()).toBe(firstItem);
});
it("#executeCurrentItem", function () {
var sceneManager = new SceneManager();
var item = new OnePlayerMenuItem(sceneManager);
var menu = new MainMenu();
menu.setItems([item]);
spyOn(item, 'execute');
menu.executeCurrentItem();
expect(item.execute).toHaveBeenCalled();
});
it("#getItemsInfo", function () {
var sceneManager = new SceneManager();
var firstItem = new OnePlayerMenuItem(sceneManager);
firstItem.setName('ITEM #1');
var secondItem = new ConstructionMenuItem(sceneManager);
secondItem.setName('ITEM #2');
var menu = new MainMenu();
menu.setItems([firstItem, secondItem]);
expect(menu.getItemsInfo()).toEqual([
{'name': 'ITEM #1', 'isCurrent': true},
{'name': 'ITEM #2', 'isCurrent': false},
]);
});
});