Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
(function() {
var SwitcherTest =
{
object : null,
setUp : function()
{
this.object = JSTime.create('JSTime.widgets.toolbar.Switcher',
{
renderTo : Ext.getBody()
});
},
tearDown : function()
{
this.object.destroy();
},
testToggleButton : function()
{
var viewer = this.object.down('button[sysname=' + this.object.VIEWER + ']'),
creator = this.object.down('button[sysname=' + this.object.CREATOR + ']');
this.object.toggleButton(viewer);
assertTrue(viewer.pressed);
assertFalse(creator.pressed);
this.object.toggleButton(creator);
assertFalse(viewer.pressed);
assertTrue(creator.pressed);
},
testSetActiveItem : function()
{
var viewer = this.object.down('button[sysname=' + this.object.VIEWER + ']'),
creator = this.object.down('button[sysname=' + this.object.CREATOR + ']');
this.object.setActiveItem(this.object.VIEWER);
assertTrue(viewer.pressed);
assertFalse(creator.pressed);
this.object.setActiveItem(this.object.CREATOR);
assertFalse(viewer.pressed);
assertTrue(creator.pressed);
},
testClickButtons : function()
{
var viewer = this.object.down('button[sysname=' + this.object.VIEWER + ']'),
creator = this.object.down('button[sysname=' + this.object.CREATOR + ']');
Helpers.click(viewer);
assertTrue(viewer.pressed);
assertFalse(creator.pressed);
Helpers.click(creator);
assertTrue(creator.pressed);
assertFalse(viewer.pressed);
},
testChangeEvent : function()
{
assertEvent(this.object, 'change', function()
{
Helpers.click('button[sysname=' + this.object.CREATOR + ']');
},
this);
assertEvent(this.object, 'change', function()
{
Helpers.click('button[sysname=' + this.object.VIEWER + ']');
},
this);
assertEvent(this.object, 'change', function()
{
this.object.setActiveItem(this.object.CREATOR);
},
this);
assertEvent(this.object, 'change', function()
{
this.object.setActiveItem(this.object.VIEWER);
},
this);
}
};
TestCase('SwitcherTest', SwitcherTest);
})();
var page = require('webpage').create();
page.open('test.html', function(success) {
page.onConsoleMessage = function (msg) {
console.log(msg);
};
page.evaluate(function() {
document.getElementById('sel').onchange = function() {
console.log('onchange');
};
document.getElementById('sel').onchange();
});
phantom.exit();
});
Тестирование компонентов и приложений ExtJS/Sencha с использованием движка PhantomJS