4580537537
These changes make the frontend tests send keydown instead of keypress in firefox, in accordance with #3413 (Use keydown instead of keypress on Firefox). The percentage of passing frontend in Firefox 61 on this revision is 100%.
73 lines
2.1 KiB
JavaScript
73 lines
2.1 KiB
JavaScript
describe("italic some text", function(){
|
|
//create a new pad before each test run
|
|
beforeEach(function(cb){
|
|
helper.newPad(cb);
|
|
this.timeout(60000);
|
|
});
|
|
|
|
it("makes text italic using button", function(done) {
|
|
var inner$ = helper.padInner$;
|
|
var chrome$ = helper.padChrome$;
|
|
|
|
//get the first text element out of the inner iframe
|
|
var $firstTextElement = inner$("div").first();
|
|
|
|
//select this text element
|
|
$firstTextElement.sendkeys('{selectall}');
|
|
|
|
//get the bold button and click it
|
|
var $boldButton = chrome$(".buttonicon-italic");
|
|
$boldButton.click();
|
|
|
|
//ace creates a new dom element when you press a button, so just get the first text element again
|
|
var $newFirstTextElement = inner$("div").first();
|
|
|
|
// is there a <i> element now?
|
|
var isItalic = $newFirstTextElement.find("i").length === 1;
|
|
|
|
//expect it to be bold
|
|
expect(isItalic).to.be(true);
|
|
|
|
//make sure the text hasn't changed
|
|
expect($newFirstTextElement.text()).to.eql($firstTextElement.text());
|
|
|
|
done();
|
|
});
|
|
|
|
it("makes text italic using keypress", function(done) {
|
|
var inner$ = helper.padInner$;
|
|
var chrome$ = helper.padChrome$;
|
|
|
|
//get the first text element out of the inner iframe
|
|
var $firstTextElement = inner$("div").first();
|
|
|
|
//select this text element
|
|
$firstTextElement.sendkeys('{selectall}');
|
|
|
|
if(inner$(window)[0].bowser.modernIE){ // if it's IE
|
|
var evtType = "keypress";
|
|
}else{
|
|
var evtType = "keydown";
|
|
}
|
|
|
|
var e = inner$.Event(evtType);
|
|
e.ctrlKey = true; // Control key
|
|
e.which = 105; // i
|
|
inner$("#innerdocbody").trigger(e);
|
|
|
|
//ace creates a new dom element when you press a button, so just get the first text element again
|
|
var $newFirstTextElement = inner$("div").first();
|
|
|
|
// is there a <i> element now?
|
|
var isItalic = $newFirstTextElement.find("i").length === 1;
|
|
|
|
//expect it to be bold
|
|
expect(isItalic).to.be(true);
|
|
|
|
//make sure the text hasn't changed
|
|
expect($newFirstTextElement.text()).to.eql($firstTextElement.text());
|
|
|
|
done();
|
|
});
|
|
|
|
});
|