mirror of
https://github.com/piskelapp/piskel.git
synced 2023-08-10 21:12:52 +03:00
66 lines
2.7 KiB
JavaScript
66 lines
2.7 KiB
JavaScript
|
/* globals casper, setPiskelFromGrid, isDrawerExpanded, getValue, isChecked,
|
||
|
evalLine, waitForEvent, replaceFunction, setPiskelFromImageSrc */
|
||
|
|
||
|
casper.test.begin('Test toggling the grid using the animated preview toggle grid icon', 9, function(test) {
|
||
|
test.timeout = test.fail.bind(test, ['Test timed out']);
|
||
|
|
||
|
var GRID_BUTTON_CLASS = 'toggle-grid-button';
|
||
|
var ACTIVE_GRID_BUTTON_CLASS = 'icon-minimap-grid-gold';
|
||
|
var INACTIVE_GRID_BUTTON_CLASS = 'icon-minimap-grid-white';
|
||
|
|
||
|
function isGridEnabled_() {
|
||
|
return evalLine('pskl.UserSettings.get(pskl.UserSettings.GRID_ENABLED)');
|
||
|
}
|
||
|
|
||
|
function gridButtonHasClass_(className) {
|
||
|
var gridButtonClassname = getClassName('.' + GRID_BUTTON_CLASS);
|
||
|
return gridButtonClassname.indexOf(className) != -1
|
||
|
}
|
||
|
|
||
|
function isGridButtonActive_() {
|
||
|
return gridButtonHasClass_(ACTIVE_GRID_BUTTON_CLASS) && !gridButtonHasClass_(INACTIVE_GRID_BUTTON_CLASS);
|
||
|
}
|
||
|
|
||
|
function onTestStart() {
|
||
|
test.assertExists('#drawing-canvas-container canvas', 'Piskel ready, test starting');
|
||
|
|
||
|
casper.echo('Check that initially grid is disabled and grid button is inactive');
|
||
|
test.assertEquals(isGridEnabled_(), false, 'Grid is not enabled');
|
||
|
test.assert(!isGridButtonActive_(), 'Grid button is not active');
|
||
|
|
||
|
casper.echo('Click on grid button to enable grid');
|
||
|
casper.click('.' + GRID_BUTTON_CLASS);
|
||
|
casper.waitForSelector('.' + ACTIVE_GRID_BUTTON_CLASS, onGridEnabled, test.timeout, 10000);
|
||
|
}
|
||
|
|
||
|
function onGridEnabled() {
|
||
|
casper.echo('Check that grid is now enabled and grid button is active');
|
||
|
test.assertEquals(isGridEnabled_(), true, 'Grid is enabled');
|
||
|
test.assert(isGridButtonActive_(), 'Grid button is active');
|
||
|
|
||
|
casper.echo('Click again on grid button to disable grid');
|
||
|
casper.click('.' + GRID_BUTTON_CLASS);
|
||
|
casper.waitForSelector('.' + INACTIVE_GRID_BUTTON_CLASS, onGridDisabled, test.timeout, 10000);
|
||
|
}
|
||
|
|
||
|
function onGridDisabled() {
|
||
|
casper.echo('Check that grid is disabled again and grid button is inactive');
|
||
|
test.assertEquals(isGridEnabled_(), false, 'Grid is not enabled');
|
||
|
test.assert(!isGridButtonActive_(), 'Grid button is not active');
|
||
|
casper.click('.' + GRID_BUTTON_CLASS);
|
||
|
|
||
|
casper.echo('Enable grid via user settings');
|
||
|
evalLine('pskl.UserSettings.set(pskl.UserSettings.GRID_ENABLED, true)');
|
||
|
casper.waitForSelector('.' + ACTIVE_GRID_BUTTON_CLASS, onGridEnabledViaSettings, test.timeout, 10000);
|
||
|
}
|
||
|
|
||
|
function onGridEnabledViaSettings() {
|
||
|
casper.echo('Check that grid is finally enabled and grid button is active');
|
||
|
test.assertEquals(isGridEnabled_(), true, 'Grid is enabled');
|
||
|
test.assert(isGridButtonActive_(), 'Grid button is active');
|
||
|
// Test end
|
||
|
}
|
||
|
|
||
|
startTest(test, onTestStart);
|
||
|
});
|