etherpad-lite/tests/frontend/specs/button_timeslider.js
2012-10-28 18:36:22 +00:00

46 lines
1.6 KiB
JavaScript

describe("timeslider button takes you to the timeslider of a pad", function(){
beforeEach(function(cb){
helper.newPad(cb); // creates a new pad
this.timeout(5000);
});
it("timeslider contained in URL", function(done){
var inner$ = helper.padInner$;
var chrome$ = helper.padChrome$;
// get the first text element inside the editable space
var $firstTextElement = inner$("div span").first();
var originalValue = $firstTextElement.text(); // get the original value
var newValue = "Testing"+originalValue;
$firstTextElement.sendkeys("Testing"); // send line 1 to the pad
var modifiedValue = $firstTextElement.text(); // get the modified value
expect(modifiedValue).not.to.be(originalValue); // expect the value to change
helper.waitFor(function(){
return modifiedValue !== originalValue; // The value has changed so we can..
}).done(function(){
var $timesliderButton = chrome$("#timesliderlink");
$timesliderButton.click(); // So click the timeslider link
helper.waitFor(function(){
var iFrameURL = chrome$.window.location.href;
if(iFrameURL){
return iFrameURL.indexOf("timeslider") !== -1;
}else{
return false; // the URL hasnt been set yet
}
}).done(function(){
// click the buttons
var iFrameURL = chrome$.window.location.href; // get the url
var inTimeslider = iFrameURL.indexOf("timeslider") !== -1;
expect(inTimeslider).to.be(true); // expect the value to change
done();
});
});
});
});