New tests, better naming

This commit is contained in:
Vadim Makeev 2013-12-18 03:53:22 +04:00
parent 8998237211
commit b63d42b8d7
3 changed files with 39 additions and 11 deletions

View File

@ -13,7 +13,10 @@ module.exports = function(grunt) {
},
dalek: {
test: {
src: 'tests/keys.js'
src: [
'tests/shortcuts.js',
'tests/inner-nav.js'
]
}
}
});
@ -21,6 +24,6 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-dalek');
grunt.registerTask('default', ['uglify', 'dalek']);
grunt.registerTask('default', ['uglify']);
};

10
tests/inner-nav.js Normal file
View File

@ -0,0 +1,10 @@
module.exports = {
// Right
'Right Arrow key is switching .next to .active': function (test) {
test
.open('themes/ribbon/index.html?full#20')
.sendKeys('body', '\uE014') // Right
.assert.attr('[id="20"] li:nth-child(2)', 'class', 'next active', 'First .next is .active')
.done();
}
};

View File

@ -3,16 +3,18 @@ module.exports = {
test
.open('themes/ribbon/index.html')
.sendKeys('body', '\uE035') // F5
.assert.attr('body', 'class', 'full')
.assert.attr('body', 'class', 'full', 'Mode is full')
.done();
},
// F5
'Body class is switching from `full` to `list` on F5': function (test) {
test
.open('themes/ribbon/index.html?full')
.sendKeys('body', '\uE035') // F5
.assert.attr('body', 'class', 'list')
.assert.attr('body', 'class', 'list', 'Mode is list')
.done();
},
// Cmd Alt P — how to test multiple keys?
// 'Body class is switching from `list` to `full` on Cmd Alt P': function (test) {
// test
// .open('themes/ribbon/index.html')
@ -20,32 +22,45 @@ module.exports = {
// .assert.attr('body', 'class', 'full')
// .done();
// },
// Esc
'Body class is switching from `full` to `list` on Esc': function (test) {
test
.open('themes/ribbon/index.html?full')
.sendKeys('body', '\uE00C') // Esc
.assert.attr('body', 'class', 'list')
.assert.attr('body', 'class', 'list', 'Mode is list')
.done();
},
'End key works as expected': function (test) {
// End
'End key select the last slide': function (test) {
test
.open('themes/ribbon/index.html')
.sendKeys('body', '\uE010') // End
.assert.attr('.slide:last-of-type', 'class', 'slide active')
.assert.attr('.slide:last-of-type', 'class', 'slide active', 'Last slide is active')
.done();
},
'Home key works as expected': function (test) {
// Home
'Home key select the first slide': function (test) {
test
.open('themes/ribbon/index.html#20')
.sendKeys('body', '\uE011') // Home
.assert.attr('.slide:first-of-type', 'class', 'slide active')
.assert.attr('.slide:first-of-type', 'class', 'slide active', 'First slide is active')
.done();
},
'Enter is not opening slide if theres no current': function (test) {
// Enter
'Enter is opening current slide': function (test) {
test
.open('themes/ribbon/index.html#1')
.sendKeys('body', '\uE007') // Enter
.assert.attr('body', 'class', 'full', 'Full mode')
.assert.attr('[id="1"]', 'class', 'slide active', 'Slide #1 is active')
.done();
},
// Enter
'Enter is not opening any slide if theres no current': function (test) {
test
.open('themes/ribbon/index.html')
.sendKeys('body', '\uE007') // Enter
.assert.attr('body', 'class', 'list')
.assert.attr('body', 'class', 'list', 'Mode is list')
.done();
}
// uE004 Tab