summaryrefslogtreecommitdiff
path: root/tests/frontend/specs/keystroke_delete.js
blob: 86e76f56f20df6b4a6415130f4139278db14639f (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
describe("delete keystroke", function(){
  //create a new pad before each test run
  beforeEach(function(cb){
    helper.newPad(cb);
    this.timeout(60000);
  });

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

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

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

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

    done();
  });
});