Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 27fd42d

Browse files
committed
[test]add test case for menuItem
1 parent 60ff4cf commit 27fd42d

2 files changed

Lines changed: 148 additions & 0 deletions

File tree

tests/tests/menu_item/icon1.png

983 Bytes
Loading

tests/tests/menu_item/menu_item.js

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
var gui = require('nw.gui');
2+
var assert = require('assert');
3+
4+
describe('MenuItem', function(){
5+
var menu;
6+
beforeEach(function(){
7+
menu = new gui.Menu();
8+
})
9+
10+
describe('.type', function(){
11+
12+
it('should be separator', function(){
13+
menu.append(new gui.MenuItem({ label : 'Item 1', type : 'separator' }));
14+
assert.equal(menu.items.length, 1);
15+
assert.equal(menu.items[0].type, 'separator');
16+
})
17+
18+
it('should be normal', function(){
19+
menu.append(new gui.MenuItem({ label : 'Item 1' }));
20+
assert.equal(menu.items.length, 1);
21+
assert.equal(menu.items[0].type, 'normal');
22+
})
23+
24+
it('should be checkbox', function(){
25+
menu.append(new gui.MenuItem({ label : 'Item 1', type : 'checkbox' }));
26+
assert.equal(menu.items.length, 1);
27+
assert.equal(menu.items[0].type, 'checkbox');
28+
})
29+
30+
})
31+
32+
describe('.label', function(){
33+
it('set label', function(){
34+
menu.append(new gui.MenuItem({ label : 'Item 1'}));
35+
assert.equal(menu.items.length, 1);
36+
assert.equal(menu.items[0].label, 'Item 1');
37+
38+
})
39+
40+
it('after change',function(){
41+
menu.append(new gui.MenuItem({ label : 'Item 1'}));
42+
assert.equal(menu.items.length, 1);
43+
menu.items[0].label = 'Item Mama';
44+
assert.equal(menu.items[0].label, 'Item Mama');
45+
})
46+
47+
})
48+
49+
describe('.icon', function(){
50+
it('set menu icon', function(){
51+
menu.append(new gui.MenuItem({ label : 'Item icon' }));
52+
assert.equal(menu.items.length, 1);
53+
menu.items[0].icon = 'icon1.png';
54+
assert.equal(menu.items[0].icon, 'icon1.png');
55+
56+
})
57+
58+
it('clear menu icon', function(){
59+
menu.append(new gui.MenuItem({ label : 'Item icon' }));
60+
menu.items[0].icon = 'icon1.png';
61+
menu.items[0].icon = '';
62+
assert.equal(menu.items[0].icon, '');
63+
})
64+
})
65+
66+
describe('.tooltip', function(){
67+
it('set tooltip', function(){
68+
menu.append(new gui.MenuItem({ label : 'Item 0', tooltip : 'tooltip' }));
69+
assert.equal(menu.items[0].tooltip, 'tooltip');
70+
})
71+
72+
it('change tooltip', function(){
73+
menu.append(new gui.MenuItem({ label : 'Item 0', tooltip : 'tooltip' }));
74+
menu.items[0].tooltip = '';
75+
assert.equal(menu.items[0].tooltip, '');
76+
})
77+
})
78+
79+
80+
describe('.checked', function(){
81+
it('set enabled', function(){
82+
menu.append(new gui.MenuItem({ type : 'checkbox', label : 'Item 0', checked : true }));
83+
assert.equal(menu.items[0].checked, true);
84+
})
85+
86+
it('change checked', function(){
87+
menu.append(new gui.MenuItem({ type : 'checkbox', label : 'Item 0', checked: true }));
88+
menu.items[0].checked = false;
89+
assert.equal(menu.items[0].checked, false);
90+
91+
})
92+
})
93+
94+
95+
describe('.enabled', function(){
96+
it('set enabled', function(){
97+
menu.append(new gui.MenuItem({ type : 'checkbox', label : 'Item 0', enabled : true }));
98+
assert.equal(menu.items[0].enabled, true);
99+
})
100+
101+
it('change enabled', function(){
102+
menu.append(new gui.MenuItem({ type : 'checkbox', label : 'Item 0', enabled : true }));
103+
menu.items[0].enabled = false;
104+
assert.equal(menu.items[0].enabled, false);
105+
106+
})
107+
})
108+
109+
describe('.submenu', function(){
110+
it('set submenu', function(){
111+
var submenu = new gui.Menu();
112+
submenu.append(new gui.MenuItem({ type: 'checkbox', label: 'Sub 1', checked: true, enabled: false }));
113+
submenu.append(new gui.MenuItem({ type: 'checkbox', label: 'Sub 2', checked: true, enabled: false }));
114+
submenu.append(new gui.MenuItem({ type: 'checkbox', label: 'Sub 3', checked: true, enabled: false }));
115+
submenu.append(new gui.MenuItem({ type: 'checkbox', label: 'Sub 4', checked: true, enabled: false }));
116+
menu.append(new gui.MenuItem({ label: 'I have submenu', submenu: submenu }));
117+
118+
assert.equal(menu.items.length, 1);
119+
assert.equal(menu.items[0].label, 'I have submenu');
120+
assert.equal(menu.items[0].submenu, submenu);
121+
assert.equal(submenu.items.length, 4);
122+
})
123+
})
124+
125+
describe('#click()', function(){
126+
127+
var menu_item = new gui.MenuItem({label : 'item 1'});
128+
129+
130+
it('before click',function(){
131+
assert.equal(menu_item.label, 'item 1');
132+
})
133+
134+
it('after click',function(done){
135+
menu_item.on('click', function(){
136+
menu_item.label = '2';
137+
assert.equal(menu_item.label, '2');
138+
done();
139+
})
140+
menu_item.emit('click');
141+
142+
})
143+
144+
145+
146+
})
147+
148+
})

0 commit comments

Comments
 (0)