From b1dc09748d220c0104a2afa25a2ff65a1b705a2d Mon Sep 17 00:00:00 2001 From: surunzi Date: Wed, 17 Aug 2016 20:28:10 +0800 Subject: [PATCH] Add: Settings test --- src/Settings/Settings.es6 | 6 +++--- test/boot.js | 4 +++- test/settings.html | 16 +++++++++++++++ test/settings.js | 41 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 test/settings.html create mode 100644 test/settings.js diff --git a/src/Settings/Settings.es6 b/src/Settings/Settings.es6 index 89f0373..de46d7d 100644 --- a/src/Settings/Settings.es6 +++ b/src/Settings/Settings.es6 @@ -58,15 +58,15 @@ export default class Settings extends Tool } _bindEvent() { - var self = this; + let self = this; this._$el.on('click', '.eruda-checkbox', function () { - var $input = util.$(this).find('input'), + let $input = util.$(this).find('input'), idx = $input.data('idx'), val = $input.get(0).checked; - var setting = self._settings[idx]; + let setting = self._settings[idx]; setting.config.set(setting.key, val); }).on('click', '.eruda-select .eruda-head', function () { diff --git a/test/boot.js b/test/boot.js index 22f5979..073d2c9 100644 --- a/test/boot.js +++ b/test/boot.js @@ -3,7 +3,9 @@ function boot(name) // Need a little delay to make sure width and height of webpack dev server iframe are initialized. setTimeout(function () { - eruda.init({tool: name}); + eruda.init({ + tool: name === 'settings' ? [] : name + }); eruda.show().get().config.set('displaySize', '50%'); loadJs('lib/boot', function () { diff --git a/test/settings.html b/test/settings.html new file mode 100644 index 0000000..52fe688 --- /dev/null +++ b/test/settings.html @@ -0,0 +1,16 @@ + + + + + Console + + + + + + + + + + + diff --git a/test/settings.js b/test/settings.js new file mode 100644 index 0000000..b56c3bb --- /dev/null +++ b/test/settings.js @@ -0,0 +1,41 @@ +var tool = eruda.get('settings'), + $tool = $('.eruda-settings'); + +var cfg = eruda.config.create('eruda-test'); +cfg.set({ + testSwitch: false, + testSelect: ['1'] +}); + +describe('switch', function () +{ + it('ui', function () + { + var text = 'Test Switch'; + + tool.switch(cfg, 'testSwitch', text); + expect($tool.find('.eruda-switch').eq(3)).toContainText(text); + }); +}); + +describe('separator', function () +{ + it('ui', function () + { + tool.separator(); + expect($tool.find('.eruda-separator').length).toEqual(4); + }); +}); + +describe('select', function () +{ + it('ui', function () + { + var text = 'Test Select'; + + tool.select(cfg, 'testSelect', text, ['1', '2', '3']); + var $el = $tool.find('.eruda-select').eq(2); + expect($el.find('ul li').length).toEqual(3); + expect($el.find('.eruda-val')).toContainText('1'); + }); +});