diff --git a/tests/frontend/helper.js b/tests/frontend/helper.js index 87c3d73e..f534179f 100644 --- a/tests/frontend/helper.js +++ b/tests/frontend/helper.js @@ -98,7 +98,11 @@ var helper = {}; }} var intervalCheck = setInterval(function(){ - var passed = conditionFunc(); + var passed = false; + + try { + passed = conditionFunc(); + } catch(e){} if(passed){ clearInterval(intervalCheck); diff --git a/tests/frontend/specs/keystroke_urls_become_clickable.js b/tests/frontend/specs/keystroke_urls_become_clickable.js index 0bc4d86c..6493693c 100644 --- a/tests/frontend/specs/keystroke_urls_become_clickable.js +++ b/tests/frontend/specs/keystroke_urls_become_clickable.js @@ -1,32 +1,33 @@ describe("urls become clickable", function(){ //create a new pad before each test run beforeEach(function(cb){ - testHelper.newPad(cb); + helper.newPad(cb); }); - it("adds a url and makes sure it's clickable", function() { - //get the inner iframe - var $inner = testHelper.$getPadInner(); + it("adds a url and makes sure it's clickable", function(done) { + var inner$ = helper.jQueryOf("inner"); + var chrome$ = helper.jQueryOf("chrome"); //get the first text element out of the inner iframe - var firstTextElement = $inner.find("div").first(); + var firstTextElement = inner$("div").first(); // simulate key presses to delete content firstTextElement.sendkeys('{selectall}'); // select all firstTextElement.sendkeys('{del}'); // clear the first line firstTextElement.sendkeys('http://etherpad.org'); // insert a URL -// setTimeout(function(){ + helper.waitFor(function(){ //ace creates a new dom element when you press a keystroke, so just get the first text element again - var newFirstTextElement = $inner.find("div").first(); - var locatedHref = newFirstTextElement.find("a").contents().text(); - var isURL = locatedHref.indexOf("http://etherpad.org") != -1; // if we found a URL and it is for etherpad.org + var newFirstTextElement = inner$("div").first(); + var locatedHref = newFirstTextElement.find("a"); + var isURL = locatedHref.length == 1; // if we found a URL and it is for etherpad.org - console.log(isURL); - - //expect it to be bold - expect(isURL).to.be(true); -// }, 1000); + //expect it to be bold + expect(isURL).to.be(true); + //it will only come to this point if the expect statement above doesn't throw + done(); + return true; + }); }); });