From 7764dac2fe39dee9041a5394d1e33e869d2b69ce Mon Sep 17 00:00:00 2001 From: Angelina Konstantinova Date: Tue, 24 May 2016 13:35:38 +0300 Subject: [PATCH] Update tests & pages --- .../button/button.tests/gemini.bemjson.js | 7 ++++ .../button/button.tests/simple.bemjson.js | 12 +++++++ .../control-group.tests/gemini.bemjson.js | 4 +-- .../gemini.blocks/test/test.styl | 4 +++ .../link/link.tests/gemini.bemjson.js | 13 ++++--- .../link/link.tests/simple.bemjson.js | 3 ++ .../select.tests/gemini.blocks/test/test.styl | 4 +-- .../node-tmpl-dist-gemini.bemjson.js | 6 ++++ gemini/attach.gemini.js | 2 -- gemini/button.gemini.js | 35 ++++++++++++++++--- gemini/checkbox-group.gemini.js | 2 -- gemini/checkbox.gemini.js | 2 -- gemini/control-group.gemini.js | 2 -- gemini/dropdown.gemini.js | 2 -- gemini/icon.gemini.js | 2 -- gemini/image.gemini.js | 2 -- gemini/input.gemini.js | 2 -- gemini/link.gemini.js | 11 +++--- gemini/menu.gemini.js | 2 -- gemini/modal.gemini.js | 2 -- gemini/popup.gemini.js | 2 -- gemini/progressbar.gemini.js | 2 -- gemini/radio-group.gemini.js | 2 -- gemini/select.gemini.js | 3 +- gemini/spin.gemini.js | 2 -- gemini/textarea.gemini.js | 2 -- test/dist/dist.gemini.js | 2 -- 27 files changed, 81 insertions(+), 53 deletions(-) create mode 100644 common.blocks/control-group/control-group.tests/gemini.blocks/test/test.styl diff --git a/common.blocks/button/button.tests/gemini.bemjson.js b/common.blocks/button/button.tests/gemini.bemjson.js index ee6769393..423f669a0 100644 --- a/common.blocks/button/button.tests/gemini.bemjson.js +++ b/common.blocks/button/button.tests/gemini.bemjson.js @@ -65,6 +65,13 @@ mods : { theme : 'islands', size : 'm', view : 'action', disabled : true }, text : 'action', cls : 'gemini-test-button-action-disabled' + }, + '   |   ', + { + block : 'button', + mods : { theme : 'islands', size : 'm', togglable : 'radio', disabled : true, checked : true }, + text : 'radio disabled checked', + cls : 'gemini-test-button-radio-checked-disabled' } ] }, diff --git a/common.blocks/button/button.tests/simple.bemjson.js b/common.blocks/button/button.tests/simple.bemjson.js index 126aeaac2..897c9c73a 100644 --- a/common.blocks/button/button.tests/simple.bemjson.js +++ b/common.blocks/button/button.tests/simple.bemjson.js @@ -395,6 +395,18 @@ text : 'radio' }, ' ', + { + block : 'button', + mods : { theme : 'islands', size : 'm', togglable : 'radio', disabled : true }, + text : ' radio disabled' + }, + ' ', + { + block : 'button', + mods : { theme : 'islands', size : 'm', togglable : 'radio', disabled : true, checked : true }, + text : 'radio disabled checked' + }, + ' ', { block : 'button', mods : { theme : 'islands', size : 'm', togglable : 'check', view : 'pseudo' }, diff --git a/common.blocks/control-group/control-group.tests/gemini.bemjson.js b/common.blocks/control-group/control-group.tests/gemini.bemjson.js index c875ee906..b6d9dc9d9 100644 --- a/common.blocks/control-group/control-group.tests/gemini.bemjson.js +++ b/common.blocks/control-group/control-group.tests/gemini.bemjson.js @@ -8,7 +8,7 @@ ], content : [ { tag : 'h3', content : 'search form' }, - { tag : 'p', content : { + { block : 'test', content : { block : 'control-group', content : [ { @@ -34,7 +34,7 @@ } }, { tag : 'h3', content : 'multiple form' }, - { tag : 'p', content : { + { block : 'test', content : { block : 'control-group', content : [ { diff --git a/common.blocks/control-group/control-group.tests/gemini.blocks/test/test.styl b/common.blocks/control-group/control-group.tests/gemini.blocks/test/test.styl new file mode 100644 index 000000000..5fc2a5309 --- /dev/null +++ b/common.blocks/control-group/control-group.tests/gemini.blocks/test/test.styl @@ -0,0 +1,4 @@ +.test +{ + display:inline-block; +} diff --git a/common.blocks/link/link.tests/gemini.bemjson.js b/common.blocks/link/link.tests/gemini.bemjson.js index 85036e72b..c7be17f90 100644 --- a/common.blocks/link/link.tests/gemini.bemjson.js +++ b/common.blocks/link/link.tests/gemini.bemjson.js @@ -6,14 +6,18 @@ { elem : 'css', url : 'gemini.css' }, { elem : 'js', url : 'gemini.js' } ], - content : ['islands'].map(function(theme, i) { + content : ['islands'].map(function(theme) { var content = [ { block : 'link', content : 'with no url', cls : theme + '-no-url' }, { block : 'link', url : '#', content : 'plain url', cls : theme + '-url' }, - { block : 'link', mods : { pseudo : true }, content : 'pseudo link', cls : theme + '-pseudo' } + { block : 'link', mods : { pseudo : true }, content : 'pseudo link', cls : theme + '-pseudo' }, + { block : 'link', mods : { view : 'minor' }, url : '#', content : '_view_minor' }, + { block : 'link', mods : { view : 'external' }, url : '#', content : '_view_external' }, + { block : 'link', mods : { view : 'ghost' }, url : '#', content : '_view_ghost' }, + { block : 'link', mods : { view : 'text' }, url : '#', content : '_view_text' }, + { block : 'link', mods : { view : 'strong' }, url : '#', content : '_view_strong' } ].map(function(link, j) { - link.mods || (link.mods = {}); - i && (link.mods.theme = theme); + (link.mods || (link.mods = {})).theme = theme; return [ j > 0 && { block : 'separator' }, link @@ -21,7 +25,6 @@ }); content.unshift({ tag : 'h2', content : theme }); - i && content.unshift({ tag : 'hr' }); return content; }) diff --git a/common.blocks/link/link.tests/simple.bemjson.js b/common.blocks/link/link.tests/simple.bemjson.js index a988e43bf..ba937944e 100644 --- a/common.blocks/link/link.tests/simple.bemjson.js +++ b/common.blocks/link/link.tests/simple.bemjson.js @@ -12,6 +12,9 @@ { block : 'link', url : 'http://example.com/', content : 'plain url' }, { block : 'link', mods : { view : 'minor' }, url : 'http://example.com/help/', content : 'minor' }, { block : 'link', mods : { view : 'external' }, url : 'http://www.w3.org/', content : 'external' }, + { block : 'link', mods : { view : 'ghost' }, url : 'http://example.com/', content : 'ghost' }, + { block : 'link', mods : { view : 'text' }, url : 'http://example.com/', content : 'text' }, + { block : 'link', mods : { view : 'strong' }, url : 'http://example.com/', content : 'strong' }, { block : 'link', mods : { disabled : true }, diff --git a/common.blocks/select/select.tests/gemini.blocks/test/test.styl b/common.blocks/select/select.tests/gemini.blocks/test/test.styl index 1de337935..d16551c50 100644 --- a/common.blocks/select/select.tests/gemini.blocks/test/test.styl +++ b/common.blocks/select/select.tests/gemini.blocks/test/test.styl @@ -1,7 +1,5 @@ .test { - display: inline-block; - - width: 20%; + width: 220px; padding: 0 40px 150px 0; } diff --git a/desktop.pages/browser-tmpl-dist-gemini/node-tmpl-dist-gemini.bemjson.js b/desktop.pages/browser-tmpl-dist-gemini/node-tmpl-dist-gemini.bemjson.js index d2f53a5dd..5eef13a99 100644 --- a/desktop.pages/browser-tmpl-dist-gemini/node-tmpl-dist-gemini.bemjson.js +++ b/desktop.pages/browser-tmpl-dist-gemini/node-tmpl-dist-gemini.bemjson.js @@ -6,6 +6,12 @@ module.exports = { head : [{ elem : 'css', url : '../../dist/desktop/desktop.css' }], scripts : [{ elem : 'js', url : '../../dist/desktop/desktop.browser.js' }], content : [ + { + block: 'link', + mods: { theme: 'islands', size: 's' }, + content: 'link' + }, + [ { block : 'button', diff --git a/gemini/attach.gemini.js b/gemini/attach.gemini.js index 1783a2b0c..cb135afac 100644 --- a/gemini/attach.gemini.js +++ b/gemini/attach.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('attach', function(root) { root.setUrl('desktop.tests/attach/gemini/gemini.html'); [ diff --git a/gemini/button.gemini.js b/gemini/button.gemini.js index 7ff1aa909..080546e5a 100644 --- a/gemini/button.gemini.js +++ b/gemini/button.gemini.js @@ -1,9 +1,31 @@ -var gemini = require('gemini'); - gemini.suite('button', function(root) { root.setUrl('desktop.tests/button/gemini/gemini.html'); + [ + 'islands', + 'plain', + 'pseudo', + 'islands-link', + 'islands-icon' + ] + .forEach(function(test) { + var buttonSelector = '.gemini-test-button-' + test, + buttonEnabledSelector = buttonSelector + '-enabled'; + + // tests for enabled focused button, excluding button_view_action + gemini.suite(test + '-focused', function(suite) { + suite + .setCaptureElements(buttonEnabledSelector) + .before(function(actions, find) { + this.button = find(buttonEnabledSelector); + }) + .capture('focused-hard', function(actions) { + actions.focus(this.button); + }); + }); + }); + [ 'islands', 'plain', @@ -28,9 +50,6 @@ gemini.suite('button', function(root) { .capture('hovered', function(actions) { actions.mouseMove(this.button); }) - .capture('focused-hard', function(actions) { - actions.focus(this.button); - }) .capture('pressed', function(actions) { actions.mouseDown(this.button); }) @@ -47,6 +66,12 @@ gemini.suite('button', function(root) { }); }); + gemini.suite('radio-checked-disabled', function(suite) { + suite + .setCaptureElements('.gemini-test-button-radio-checked-disabled') + .capture('plain'); + }); + [ 'islands', 'plain' diff --git a/gemini/checkbox-group.gemini.js b/gemini/checkbox-group.gemini.js index d35775560..c2549462a 100644 --- a/gemini/checkbox-group.gemini.js +++ b/gemini/checkbox-group.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('checkbox-group', function(root) { root.setUrl('desktop.tests/checkbox-group/gemini/gemini.html'); diff --git a/gemini/checkbox.gemini.js b/gemini/checkbox.gemini.js index d3d815267..029b420c8 100644 --- a/gemini/checkbox.gemini.js +++ b/gemini/checkbox.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('checkbox', function(root) { root.setUrl('desktop.tests/checkbox/gemini/gemini.html'); diff --git a/gemini/control-group.gemini.js b/gemini/control-group.gemini.js index 783ccbb73..150dc5dea 100644 --- a/gemini/control-group.gemini.js +++ b/gemini/control-group.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('control-group', function(root) { root.setUrl('desktop.tests/control-group/gemini/gemini.html'); diff --git a/gemini/dropdown.gemini.js b/gemini/dropdown.gemini.js index e008fdd8e..b41d53cd4 100644 --- a/gemini/dropdown.gemini.js +++ b/gemini/dropdown.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('dropdown', function(root) { root.setUrl('desktop.tests/dropdown/gemini/gemini.html'); diff --git a/gemini/icon.gemini.js b/gemini/icon.gemini.js index a72c39725..cfcb32115 100644 --- a/gemini/icon.gemini.js +++ b/gemini/icon.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('icon', function(root) { root.setUrl('desktop.tests/icon/gemini/gemini.html'); diff --git a/gemini/image.gemini.js b/gemini/image.gemini.js index e0d022d2d..6f25c1162 100644 --- a/gemini/image.gemini.js +++ b/gemini/image.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('image', function(root) { root.setUrl('desktop.tests/image/gemini/gemini.html'); diff --git a/gemini/input.gemini.js b/gemini/input.gemini.js index 4eacbb48b..8e554b352 100644 --- a/gemini/input.gemini.js +++ b/gemini/input.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('input', function(root) { root.setUrl('desktop.tests/input/gemini/gemini.html'); diff --git a/gemini/link.gemini.js b/gemini/link.gemini.js index 8b4786f14..aa3a1e39f 100644 --- a/gemini/link.gemini.js +++ b/gemini/link.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('link', function(root) { root.setUrl('desktop.tests/link/gemini/gemini.html'); @@ -7,7 +5,13 @@ gemini.suite('link', function(root) { [ 'islands-no-url', 'islands-url', - 'islands-pseudo' + 'islands-pseudo', + + 'link_view_minor', + 'link_view_external', + 'link_view_ghost', + 'link_view_text', + 'link_view_strong' ] .forEach(function(test) { var linkSelector = '.' + test; @@ -35,5 +39,4 @@ gemini.suite('link', function(root) { }); }); }); - }); diff --git a/gemini/menu.gemini.js b/gemini/menu.gemini.js index b044347b6..30c881028 100644 --- a/gemini/menu.gemini.js +++ b/gemini/menu.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('menu', function(root) { root.setUrl('desktop.tests/menu/gemini/gemini.html'); diff --git a/gemini/modal.gemini.js b/gemini/modal.gemini.js index cb28b2bb7..81d340dbb 100644 --- a/gemini/modal.gemini.js +++ b/gemini/modal.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('modal', function(root) { root.setUrl('desktop.tests/modal/gemini/gemini.html'); diff --git a/gemini/popup.gemini.js b/gemini/popup.gemini.js index f6d986292..0c0f40365 100644 --- a/gemini/popup.gemini.js +++ b/gemini/popup.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('popup', function(root) { root.setUrl('desktop.tests/popup/gemini/gemini.html'); diff --git a/gemini/progressbar.gemini.js b/gemini/progressbar.gemini.js index e6c8a9dc0..91943877c 100644 --- a/gemini/progressbar.gemini.js +++ b/gemini/progressbar.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('progressbar', function(root) { root.setUrl('desktop.tests/progressbar/gemini/gemini.html'); diff --git a/gemini/radio-group.gemini.js b/gemini/radio-group.gemini.js index 43b21a337..7f8d9fa62 100644 --- a/gemini/radio-group.gemini.js +++ b/gemini/radio-group.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('radio-group', function(root) { root.setUrl('desktop.tests/radio-group/gemini/gemini.html'); diff --git a/gemini/select.gemini.js b/gemini/select.gemini.js index c8c8efc14..553381910 100644 --- a/gemini/select.gemini.js +++ b/gemini/select.gemini.js @@ -1,5 +1,4 @@ -var gemini = require('gemini'), - animationTime = 300; +var animationTime = 300; gemini.suite('select', function(root) { diff --git a/gemini/spin.gemini.js b/gemini/spin.gemini.js index aeec7c3ac..b0fd4a3c5 100644 --- a/gemini/spin.gemini.js +++ b/gemini/spin.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('spin', function(root) { root.setUrl('desktop.tests/spin/gemini/gemini.html'); diff --git a/gemini/textarea.gemini.js b/gemini/textarea.gemini.js index 9417a262d..bd7e06684 100644 --- a/gemini/textarea.gemini.js +++ b/gemini/textarea.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('textarea', function(root) { root.setUrl('desktop.tests/textarea/gemini/gemini.html'); diff --git a/test/dist/dist.gemini.js b/test/dist/dist.gemini.js index 5a676fdc7..5960f8aa3 100644 --- a/test/dist/dist.gemini.js +++ b/test/dist/dist.gemini.js @@ -1,5 +1,3 @@ -var gemini = require('gemini'); - gemini.suite('dist', function(root) { root