add tab delete test
This commit is contained in:
		
							parent
							
								
									3f8bbe11d9
								
							
						
					
					
						commit
						0904f8e1eb
					
				
					 5 changed files with 28 additions and 13 deletions
				
			
		| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
import {
 | 
			
		||||
  WINDOWS_CREATE, WINDOWS_REMOVE, TABS_CREATE,
 | 
			
		||||
  WINDOWS_CREATE, WINDOWS_REMOVE, WINDOWS_GET,
 | 
			
		||||
  TABS_CREATE,
 | 
			
		||||
  EVENT_KEYPRESS, EVENT_KEYDOWN, EVENT_KEYUP,
 | 
			
		||||
} from '../shared/messages';
 | 
			
		||||
import * as tabs from './tabs';
 | 
			
		||||
| 
						 | 
				
			
			@ -11,6 +12,8 @@ receiveContentMessage((message) => {
 | 
			
		|||
    return browser.windows.create({ url: message.url });
 | 
			
		||||
  case WINDOWS_REMOVE:
 | 
			
		||||
    return browser.windows.remove(message.windowId);
 | 
			
		||||
  case WINDOWS_GET:
 | 
			
		||||
    return browser.windows.get(message.windowId, { populate: true });
 | 
			
		||||
  case TABS_CREATE:
 | 
			
		||||
    return tabs.create({
 | 
			
		||||
      url: message.url,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
import { WINDOWS_CREATE, WINDOWS_REMOVE } from '../shared/messages';
 | 
			
		||||
import {
 | 
			
		||||
  WINDOWS_CREATE, WINDOWS_REMOVE, WINDOWS_GET
 | 
			
		||||
} from '../shared/messages';
 | 
			
		||||
import * as ipc from './ipc';
 | 
			
		||||
 | 
			
		||||
const create = (url) => {
 | 
			
		||||
| 
						 | 
				
			
			@ -15,4 +17,11 @@ const remove = (windowId) => {
 | 
			
		|||
  });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export { create, remove };
 | 
			
		||||
const get = (windowId) => {
 | 
			
		||||
  return ipc.send({
 | 
			
		||||
    type: WINDOWS_GET,
 | 
			
		||||
    windowId,
 | 
			
		||||
  });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export { create, remove, get };
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
import {
 | 
			
		||||
  WINDOWS_CREATE, WINDOWS_REMOVE, TABS_CREATE,
 | 
			
		||||
  WINDOWS_CREATE, WINDOWS_REMOVE, WINDOWS_GET,
 | 
			
		||||
  TABS_CREATE,
 | 
			
		||||
  EVENT_KEYPRESS, EVENT_KEYDOWN, EVENT_KEYUP,
 | 
			
		||||
} from '../shared/messages';
 | 
			
		||||
import * as ipc from './ipc';
 | 
			
		||||
| 
						 | 
				
			
			@ -8,6 +9,7 @@ ipc.receivePageMessage((message) => {
 | 
			
		|||
  switch (message.type) {
 | 
			
		||||
  case WINDOWS_CREATE:
 | 
			
		||||
  case WINDOWS_REMOVE:
 | 
			
		||||
  case WINDOWS_GET:
 | 
			
		||||
  case TABS_CREATE:
 | 
			
		||||
  case EVENT_KEYPRESS:
 | 
			
		||||
  case EVENT_KEYDOWN:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,7 @@ const METHOD_REQUEST = 'request';
 | 
			
		|||
const METHOD_RESPONSE = 'response';
 | 
			
		||||
const WINDOWS_CREATE = 'windows.create';
 | 
			
		||||
const WINDOWS_REMOVE = 'windows.remove';
 | 
			
		||||
const WINDOWS_GET = 'windows.get';
 | 
			
		||||
const TABS_CREATE = 'tabs.create';
 | 
			
		||||
const EVENT_KEYPRESS = 'event.keypress';
 | 
			
		||||
const EVENT_KEYDOWN = 'event.keydown';
 | 
			
		||||
| 
						 | 
				
			
			@ -13,6 +14,7 @@ export {
 | 
			
		|||
 | 
			
		||||
  WINDOWS_CREATE,
 | 
			
		||||
  WINDOWS_REMOVE,
 | 
			
		||||
  WINDOWS_GET,
 | 
			
		||||
 | 
			
		||||
  TABS_CREATE,
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,7 +5,7 @@ import * as keys from "../ambassador/src/client/keys";
 | 
			
		|||
 | 
			
		||||
const SERVER_URL = "localhost:11111";
 | 
			
		||||
 | 
			
		||||
describe("tab test", function() {
 | 
			
		||||
describe("tab test", () => {
 | 
			
		||||
  let targetWindow;
 | 
			
		||||
  let targetTab;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -22,14 +22,13 @@ describe("tab test", function() {
 | 
			
		|||
    return windows.remove(targetWindow.id);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('delete tab', (done) => {
 | 
			
		||||
    let before = window.document.documentElement.scrollTop;
 | 
			
		||||
    keys.press(targetTab.id, 'j').then((r) => {
 | 
			
		||||
  it('delete tab', () => {
 | 
			
		||||
    return Promise.resolve().then(() => {
 | 
			
		||||
      return keys.press(targetTab.id, 'd');
 | 
			
		||||
    }).then(() => {
 | 
			
		||||
      return windows.get(targetWindow.id);
 | 
			
		||||
    }).then((after) => {
 | 
			
		||||
      expect(after.tabs).to.have.lengthOf(1);
 | 
			
		||||
    });
 | 
			
		||||
    keys.press(targetTab.id, 'j').then((r) => {
 | 
			
		||||
    });
 | 
			
		||||
    keys.press(targetTab.id, 'G').then((r) => {
 | 
			
		||||
    });
 | 
			
		||||
    let after = window.document.documentElement.scrollTop;
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue