mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-20 23:46:14 -04:00
more indentation testing but have hit a brick wall unable to get the second div inside the editor. I tried nth-child, next, find and children but to no avail. Anyone any ideas?
This commit is contained in:
parent
66a25adf62
commit
84ec5abb8f
1 changed files with 75 additions and 3 deletions
|
@ -5,12 +5,13 @@ describe("indentation button", function(){
|
||||||
});
|
});
|
||||||
|
|
||||||
it("makes text indented and outdented", function() {
|
it("makes text indented and outdented", function() {
|
||||||
|
|
||||||
//get the inner iframe
|
//get the inner iframe
|
||||||
var $inner = testHelper.$getPadInner();
|
var $inner = testHelper.$getPadInner();
|
||||||
|
|
||||||
//get the first text element out of the inner iframe
|
//get the first text element out of the inner iframe
|
||||||
var firstTextElement = $inner.find("div").first();
|
var firstTextElement = $inner.find("div").first();
|
||||||
|
|
||||||
//select this text element
|
//select this text element
|
||||||
testHelper.selectText(firstTextElement[0], $inner);
|
testHelper.selectText(firstTextElement[0], $inner);
|
||||||
|
|
||||||
|
@ -33,14 +34,28 @@ describe("indentation button", function(){
|
||||||
//expect it to be part of a list
|
//expect it to be part of a list
|
||||||
expect(isLI).to.be(true);
|
expect(isLI).to.be(true);
|
||||||
|
|
||||||
|
//indent again
|
||||||
|
$indentButton.click();
|
||||||
|
|
||||||
|
var newFirstTextElement = $inner.find("div").first();
|
||||||
|
|
||||||
|
// is there a list-indent class element now?
|
||||||
|
var firstChild = newFirstTextElement.children(":first");
|
||||||
|
var hasListIndent2 = firstChild.hasClass('list-indent2');
|
||||||
|
|
||||||
|
//expect it to be part of a list
|
||||||
|
expect(hasListIndent2).to.be(true);
|
||||||
|
|
||||||
//make sure the text hasn't changed
|
//make sure the text hasn't changed
|
||||||
expect(newFirstTextElement.text()).to.eql(firstTextElement.text());
|
expect(newFirstTextElement.text()).to.eql(firstTextElement.text());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//get the unindentation button and click it
|
// test outdent
|
||||||
|
|
||||||
|
//get the unindentation button and click it twice
|
||||||
var $outdentButton = testHelper.$getPadChrome().find(".buttonicon-outdent");
|
var $outdentButton = testHelper.$getPadChrome().find(".buttonicon-outdent");
|
||||||
$outdentButton.click();
|
$outdentButton.click();
|
||||||
|
$outdentButton.click();
|
||||||
|
|
||||||
//ace creates a new dom element when you press a button, so just get the first text element again
|
//ace creates a new dom element when you press a button, so just get the first text element again
|
||||||
var newFirstTextElement = $inner.find("div").first();
|
var newFirstTextElement = $inner.find("div").first();
|
||||||
|
@ -61,5 +76,62 @@ describe("indentation button", function(){
|
||||||
expect(newFirstTextElement.text()).to.eql(firstTextElement.text());
|
expect(newFirstTextElement.text()).to.eql(firstTextElement.text());
|
||||||
|
|
||||||
|
|
||||||
|
// Next test tests multiple line indentation
|
||||||
|
|
||||||
|
//select this text element
|
||||||
|
testHelper.selectText(firstTextElement[0], $inner);
|
||||||
|
|
||||||
|
//indent twice
|
||||||
|
$indentButton.click();
|
||||||
|
$indentButton.click();
|
||||||
|
|
||||||
|
//get the first text element out of the inner iframe
|
||||||
|
var firstTextElement = $inner.find("div").first();
|
||||||
|
|
||||||
|
//select this text element
|
||||||
|
testHelper.selectText(firstTextElement[0], $inner);
|
||||||
|
|
||||||
|
/* this test creates the below content, both should have double indentation
|
||||||
|
line1
|
||||||
|
line2
|
||||||
|
*/
|
||||||
|
|
||||||
|
firstTextElement.sendkeys('{rightarrow}'); // simulate a keypress of enter
|
||||||
|
firstTextElement.sendkeys('{enter}'); // simulate a keypress of enter
|
||||||
|
firstTextElement.sendkeys('line 1'); // simulate writing the first line
|
||||||
|
firstTextElement.sendkeys('{enter}'); // simulate a keypress of enter
|
||||||
|
firstTextElement.sendkeys('line 2'); // simulate writing the second line
|
||||||
|
|
||||||
|
//get the second text element out of the inner iframe
|
||||||
|
var secondTextElement = $inner.find("div").first().children(":nth-child(0)"); // I need help wth this!
|
||||||
|
console.log(secondTextElement); // not working
|
||||||
|
|
||||||
|
// is there a list-indent class element now?
|
||||||
|
var firstChild = secondTextElement.children(":first");
|
||||||
|
var isUL = firstChild.is('ul');
|
||||||
|
|
||||||
|
//expect it to be the beginning of a list
|
||||||
|
expect(isUL).to.be(true);
|
||||||
|
|
||||||
|
var secondChild = secondChild.children(":first");
|
||||||
|
var isLI = secondChild.is('li');
|
||||||
|
//expect it to be part of a list
|
||||||
|
expect(isLI).to.be(true);
|
||||||
|
|
||||||
|
//get the first text element out of the inner iframe
|
||||||
|
var thirdTextElement = $inner.find("div").first(); // I also need help with this..
|
||||||
|
|
||||||
|
// is there a list-indent class element now?
|
||||||
|
var firstChild = thirdTextElement.children(":first");
|
||||||
|
var isUL = firstChild.is('ul');
|
||||||
|
|
||||||
|
//expect it to be the beginning of a list
|
||||||
|
expect(isUL).to.be(true);
|
||||||
|
|
||||||
|
var secondChild = firstChild.children(":first");
|
||||||
|
var isLI = secondChild.is('li');
|
||||||
|
//expect it to be part of a list
|
||||||
|
expect(isLI).to.be(true);
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue