etherpad-lite/tests/frontend/specs/ignore_global_settings.js

69 lines
2.3 KiB
JavaScript
Raw Normal View History

describe("ignoring global settings", function(){
//create a new pad before each test run
beforeEach(function(cb){
helper.newPad(cb);
this.timeout(60000);
});
// 1. Ignore global settings
// 2. change linenumbers globally
// 3. Un-Ingore global settings
// 4. change author-colors
// 5. Check for *same* linenumbers and *changed* author-colors
it("tries to ignore global settings", function(done) {
var outer$ = helper.padOuter$;
var inner$ = helper.padInner$;
var chrome$ = helper.padChrome$;
this.timeout(15000);
//click on the settings button to make settings visible
var $settingsButton = chrome$(".buttonicon-settings");
$settingsButton.click();
//get the chat selector
var $linesCheckbox = chrome$("#options-global-linenoscheck");
var $colorsGlobalCheckbox = chrome$("#options-global-colorscheck");
var $ignoreGlobalCheckbox = chrome$("#options-ignore-global");
//get the current status of the linenumbers
var oldValue_lines = outer$("#sidediv").hasClass("sidedivhidden");
var oldValue_color = inner$("body").hasClass("authorColors");
//ignore global settings
$ignoreGlobalCheckbox.attr('selected','selected');
$ignoreGlobalCheckbox.prop('checked', false); // make sure it's unchecked
$ignoreGlobalCheckbox.change();
$ignoreGlobalCheckbox.click(); // check it
//change linenumbers
$linesCheckbox.attr('selected','selected');
$linesCheckbox.change();
$linesCheckbox.click();
// wait for the server-event to come..
setTimeout(function() {
//unignore global settings
$ignoreGlobalCheckbox.attr('selected','selected');
$ignoreGlobalCheckbox.change();
$ignoreGlobalCheckbox.click();
//change colors
$colorsGlobalCheckbox.attr('selected','selected');
$colorsGlobalCheckbox.change();
$colorsGlobalCheckbox.click();
}, 2500);
helper.waitFor(function(){
return inner$("body").hasClass("authorColors") == !oldValue_color;
}, 10000).always(function(){
var newValue_lines = outer$("#sidediv").hasClass("sidedivhidden");
var newValue_color = inner$("body").hasClass("authorColors");
expect(newValue_color).not.to.be(oldValue_color);
expect(newValue_lines).to.be(oldValue_lines);
done();
});
});
});