summaryrefslogtreecommitdiff
path: root/tests/frontend/specs/keystroke_delete.js
blob: 58a6b5bb9f2474bfa6601d547fb505fc9f9fb312 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
describe("delete keystroke", function(){
  //create a new pad before each test run
  beforeEach(function(cb){
    testHelper.newPad(cb);
  });

  it("makes text delete", 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();
    
    // get the original length of this element
    var elementLength = firstTextElement.html().length;

    // get the original string value minus the last char
    var originalTextValue = firstTextElement.text();
    originalTextValue = originalTextValue.substring(0, originalTextValue.length -1);

    // simulate key presses to delete content
    firstTextElement.sendkeys('{leftarrow}'); // simulate a keypress of the left arrow key
    firstTextElement.sendkeys('{del}'); // simulate a keypress of delete

    //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();
    
    // get the new length of this element
    var newElementLength = newFirstTextElement.html().length;

    //expect it to be one char less in length
    expect(newElementLength).to.be((elementLength-1));

    //make sure the text has changed correctly
    expect(newFirstTextElement.text()).to.eql(originalTextValue);

  });
});