Skip to content

Commit

Permalink
radio-group: Write gemini test
Browse files Browse the repository at this point in the history
  • Loading branch information
gela authored and lapinp committed Jul 1, 2014
1 parent 0c9bee1 commit 97b1256
Show file tree
Hide file tree
Showing 97 changed files with 267 additions and 0 deletions.
153 changes: 153 additions & 0 deletions common.blocks/radio-group/radio-group.tests/gemini.bemjson.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
({
block : 'page',
title : 'bem-components: radio-group',
mods : { theme : 'normal' },
head : [
{ elem : 'css', url : '_gemini.css' },
{ elem : 'js', url : '_gemini.js' }
],
content : [

{ tag : 'h3', content : 'default enabled' },
{ block : 'test', cls : 'default-enabled', content : {
block : 'radio-group',
name : 'default1',
options : [
{ val : 1, text : 'first' },
{ val : 2, text : 'second', checked : true }
]
} },

{ tag : 'h3', content : 'default disabled' },
{ block : 'test', cls : 'default-disabled', content : {
block : 'radio-group',
name : 'default2',
options : [
{ val : 3, text : 'third', disabled : true },
{ val : 4, text : 'four', checked : true, disabled : true }
]
} },
{ tag : 'hr' },

['m', 'l'].map(function(size) {
return [
{ tag : 'h2', content : 'size ' + size },

{ tag : 'h3', content : 'normal-enabled' },
{ block : 'test', cls : 'normal-' + size + '-enabled', content : {
block : 'radio-group',
name : 'normal1',
mods : { theme : 'normal', size : size },
options : [
{ val : 1, text : 'first' },
{ val : 2, text : 'second', checked : true }
]
} },

{ tag : 'h3', content : 'normal-disabled' },
{ block : 'test', cls : 'normal-' + size + '-disabled', content : {
block : 'radio-group',
name : 'normal2',
mods : { theme : 'normal', size : size },
options : [
{ val : 3, text : 'third', disabled : true },
{ val : 4, text : 'four', checked : true, disabled : true }
]
} },

{ tag : 'h3', content : 'line-enabled' },
{ block : 'test', cls : 'line-normal-' + size + '-enabled', content : {
block : 'radio-group',
name : 'normal-line1',
mods : { theme : 'normal', size : size, type : 'line' },
options : [
{ val : 1, text : 'first' },
{ val : 2, text : 'second', checked : true }
]
} },

{ tag : 'h3', content : 'line-disabled' },
{ block : 'test', cls : 'line-normal-' + size + '-disabled', content : {
block : 'radio-group',
name : 'normal-line2',
mods : { theme : 'normal', size : size, type : 'line' },
options : [
{ val : 3, text : 'third', disabled : true },
{ val : 4, text : 'fourth', checked : true, disabled : true }
]
} },

{ tag : 'h3', content : 'button-enabled' },
{
block : 'radio-group',
name : 'normal-button1',
mods : { theme : 'normal', size : size, type : 'button' },
options : [
{ val : 1, text : 'first' },
{ val : 2, text : 'second', checked : true }
],
cls : 'button-normal-' + size + '-enabled'

},

{ tag : 'h3', content : 'button-disabled' },
{
block : 'radio-group',
name : 'normal-button2',
mods : { theme : 'normal', size : size, type : 'button' },
options : [
{ val : 3, text : 'third', disabled : true },
{ val : 4, text : 'fourth', checked : true, disabled : true }
],
cls : 'button-normal-' + size + '-disabled'
},

{ tag : 'h3', content : 'button-icon-enabled' },
{
block : 'radio-group',
name : 'normal-button3',
mods : { theme : 'normal', size : size, type : 'button' },
cls : 'button-normal-' + size + '-icon-enabled',
options : [
{
val : 'vk',
text : 'VK',
icon : { block : 'icon', mods : { social : 'vk' } }
},
{
val : 'twitter',
text : 'Twitter',
icon : { block : 'icon', mods : { social : 'twitter' } },
checked : true
}
]
},

{ tag : 'h3', content : 'button-icon-disabled' },
{
block : 'radio-group',
name : 'normal-button4',
mods : { theme : 'normal', size : size, type : 'button' },
cls : 'button-normal-' + size + '-icon-disabled',
options : [
{
val : 'vk',
text : 'VK',
disabled : true,
icon : { block : 'icon', mods : { social : 'vk' } }
},
{
val : 'twitter',
text : 'Twitter',
disabled : true,
checked : true,
icon : { block : 'icon', mods : { social : 'twitter' } }
}
]
},
{ tag : 'hr' }
]
})

]
});
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
exports.baseLevelPath = require.resolve('../../../../../.bem/levels/blocks');
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.test
{
display: inline-block;
padding-top: 5px;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.test
{
display: inline-block;
padding-top: 5px;
}
103 changes: 103 additions & 0 deletions gemini/radio-group.gemini.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
var gemini = require('gemini');

gemini.suite('radio-group', function(root) {
var testChecker;

root.setUrl('desktop.tests/radio-group/gemini/gemini.html');

testChecker = {
blocksWithMouseDown : {

checkers : [
'default',
'button-normal-m',
'button-normal-l',
'button-normal-m-icon',
'button-normal-l-icon'
],

testing : function() {
this.checkers.forEach(function(test) {
var radioItemSelector = '.' + test,
radioItemSelectorEnabled = radioItemSelector + '-enabled',
radioItemSelectorDisabled = radioItemSelector + '-disabled',
captureArea = !!~test.indexOf('button')?
radioItemSelectorEnabled + ' .button' :
radioItemSelectorEnabled + ' .radio__box';

gemini.suite(test + '-enabled', function(suite) {
suite
.setCaptureElements(radioItemSelectorEnabled, captureArea)
.before(function(actions, find) {
this.radioItem = find(radioItemSelectorEnabled + ' .radio');
})
.capture('plain')
.capture('hovered', function(actions) {
actions.mouseMove(this.radioItem);
})
.capture('down', function(actions) {
actions.mouseDown(this.radioItem);
})
.capture('up', function(actions) {
actions.mouseUp(this.radioItem);
})
});

gemini.suite(test + '-disabled', function(suite) {
suite
.setCaptureElements(radioItemSelectorDisabled)
.capture('plain');
});
});
}

},

blocksWithClick : {

checkers : [
'normal-m',
'normal-l',
'line-normal-m',
'line-normal-l'
],

testing : function() {
this.checkers.forEach(function(test) {
var radioItemSelector = '.' + test,
radioItemSelectorEnabled = radioItemSelector + '-enabled',
radioItemSelectorDisabled = radioItemSelector + '-disabled',
captureArea = radioItemSelectorEnabled + ' .radio__box';

gemini.suite(test + '-enabled', function(suite) {
suite
.setCaptureElements(radioItemSelectorEnabled, captureArea)
.before(function(actions, find) {
this.radioItem = find(radioItemSelectorEnabled + ' .radio');
})
.capture('plain')
.capture('hovered', function(actions) {
actions.mouseMove(this.radioItem);
})
.capture('click', function(actions) {
actions.click(this.radioItem);
})
});

gemini.suite(test + '-disabled', function(suite) {
suite
.setCaptureElements(radioItemSelectorDisabled)
.capture('plain');
});
});
}

}
}

Object.keys(testChecker)
.forEach(function(test) {
testChecker[test]['testing']();
});

});
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 97b1256

Please sign in to comment.