diff --git a/tests/frontend/index.html b/tests/frontend/index.html index fae5165a2..896f355df 100644 --- a/tests/frontend/index.html +++ b/tests/frontend/index.html @@ -16,6 +16,7 @@ + diff --git a/tests/frontend/specs/button_indentation.js b/tests/frontend/specs/button_indentation.js new file mode 100644 index 000000000..b95e26ca9 --- /dev/null +++ b/tests/frontend/specs/button_indentation.js @@ -0,0 +1,65 @@ +describe("indentation button", function(){ + //create a new pad before each test run + beforeEach(function(cb){ + testHelper.newPad(cb); + }); + + it("makes text indented and outdented", function() { + //get the inner iframe + var $inner = testHelper.$getPadInner(); + + //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); + + //get the indentation button and click it + var $indentButton = testHelper.$getPadChrome().find(".buttonicon-indent"); + $indentButton.click(); + + //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(); + + // is there a list-indent class element now? + var firstChild = newFirstTextElement.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); + + //make sure the text hasn't changed + expect(newFirstTextElement.text()).to.eql(firstTextElement.text()); + + + + //get the unindentation button and click it + var $outdentButton = testHelper.$getPadChrome().find(".buttonicon-outdent"); + $outdentButton.click(); + + //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(); + + // is there a list-indent class element now? + var firstChild = newFirstTextElement.children(":first"); + var isUL = firstChild.is('ul'); + + //expect it not to be the beginning of a list + expect(isUL).to.be(false); + + var secondChild = firstChild.children(":first"); + var isLI = secondChild.is('li'); + //expect it to not be part of a list + expect(isLI).to.be(false); + + //make sure the text hasn't changed + expect(newFirstTextElement.text()).to.eql(firstTextElement.text()); + + + }); +});