diff --git a/bin/test.js b/bin/test.js index 89f0d61e..775ec004 100644 --- a/bin/test.js +++ b/bin/test.js @@ -21,7 +21,7 @@ if (process.argv.length > 2) { testFiles = process.argv.slice(2); } -cp.spawnSync( +const run = cp.spawnSync( path.resolve(__dirname, '../node_modules/.bin/mocha'), testFiles, { @@ -30,3 +30,5 @@ cp.spawnSync( stdio: 'inherit' } ); + +process.exit(run.status); \ No newline at end of file diff --git a/src/Terminal.test.ts b/src/Terminal.test.ts index b83692e7..2de54396 100644 --- a/src/Terminal.test.ts +++ b/src/Terminal.test.ts @@ -94,6 +94,7 @@ describe('Terminal', () => { expect(e.domEvent).to.be.an.instanceof(Object); done(); }); + (term).textarea = { value: '' }; const evKeyDown = { preventDefault: () => { }, stopPropagation: () => { }, @@ -555,12 +556,16 @@ describe('Terminal', () => { afterEach(() => term.browser.isMac = originalIsMac); it('should interfere with the alt key on keyDown', () => { + (term)._keyDownHandled = false; evKeyDown.altKey = true; evKeyDown.keyCode = 81; - assert.equal(term.keyDown(evKeyDown), false); + term.keyDown(evKeyDown); + assert.equal((term)._keyDownHandled, true); + (term)._keyDownHandled = false; evKeyDown.altKey = true; evKeyDown.keyCode = 192; - assert.equal(term.keyDown(evKeyDown), false); + term.keyDown(evKeyDown); + assert.equal((term)._keyDownHandled, true); }); }); @@ -573,21 +578,29 @@ describe('Terminal', () => { afterEach(() => term.browser.isMac = originalIsMac); it('should not interfere with the alt key on keyDown', () => { + (term)._keyDownHandled = false; evKeyDown.altKey = true; evKeyDown.keyCode = 81; - assert.equal(term.keyDown(evKeyDown), true); + term.keyDown(evKeyDown); + assert.equal((term)._keyDownHandled, false); + (term)._keyDownHandled = false; evKeyDown.altKey = true; evKeyDown.keyCode = 192; - assert.equal(term.keyDown(evKeyDown), true); + term.keyDown(evKeyDown); + assert.equal((term)._keyDownHandled, false); }); - it('should interefere with the alt + arrow keys', () => { + it('should interfere with the alt + arrow keys', () => { + (term)._keyDownHandled = false; evKeyDown.altKey = true; evKeyDown.keyCode = 37; - assert.equal(term.keyDown(evKeyDown), false); + term.keyDown(evKeyDown); + assert.equal((term)._keyDownHandled, true); + (term)._keyDownHandled = false; evKeyDown.altKey = true; evKeyDown.keyCode = 39; - assert.equal(term.keyDown(evKeyDown), false); + term.keyDown(evKeyDown); + assert.equal((term)._keyDownHandled, true); }); it('should emit key with alt + key on keyPress', (done) => { @@ -639,24 +652,32 @@ describe('Terminal', () => { afterEach(() => term.browser.isWindows = originalIsWindows); it('should not interfere with the alt + ctrl key on keyDown', () => { + (term)._keyDownHandled = false; evKeyPress.altKey = true; evKeyPress.ctrlKey = true; evKeyPress.keyCode = 81; - assert.equal(term.keyDown(evKeyPress), true); + term.keyDown(evKeyPress); + assert.equal((term)._keyDownHandled, false); + (term)._keyDownHandled = false; evKeyDown.altKey = true; evKeyDown.ctrlKey = true; evKeyDown.keyCode = 81; - assert.equal(term.keyDown(evKeyDown), true); + term.keyDown(evKeyDown); + assert.equal((term)._keyDownHandled, false); }); it('should interefere with the alt + ctrl + arrow keys', () => { evKeyDown.altKey = true; evKeyDown.ctrlKey = true; + (term)._keyDownHandled = false; evKeyDown.keyCode = 37; - assert.equal(term.keyDown(evKeyDown), false); + term.keyDown(evKeyDown); + assert.equal((term)._keyDownHandled, true); + (term)._keyDownHandled = false; evKeyDown.keyCode = 39; - assert.equal(term.keyDown(evKeyDown), false); + term.keyDown(evKeyDown); + assert.equal((term)._keyDownHandled, true); }); it('should emit key with alt + ctrl + key on keyPress', (done) => {