Merge pull request #346 from ueokande/e2e-test

add zomm tests
jh-changes
Shin'ya Ueoka 7 years ago committed by GitHub
commit d0e4fc92ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      QA.md
  2. 8
      e2e/ambassador/src/background/index.js
  3. 19
      e2e/ambassador/src/client/tabs.js
  4. 4
      e2e/ambassador/src/shared/messages.js
  5. 72
      e2e/contents/zoom.test.js

@ -36,8 +36,6 @@ The behaviors of the console are tested in [Console section](#consoles).
#### Misc #### Misc
- [ ] <kbd>z</kbd><kbd>i</kbd>, <kbd>z</kbd><kbd>o</kbd>: zoom-in and zoom-out
- [ ] <kbd>z</kbd><kbd>z</kbd>: set zoom level as default
- [ ] <kbd>y</kbd>: yank current URL and show a message - [ ] <kbd>y</kbd>: yank current URL and show a message
- [ ] <kbd>p</kbd>: open clipbord's URL in current tab - [ ] <kbd>p</kbd>: open clipbord's URL in current tab
- [ ] <kbd>P</kbd>: open clipbord's URL in new tab - [ ] <kbd>P</kbd>: open clipbord's URL in new tab

@ -1,6 +1,6 @@
import { import {
WINDOWS_CREATE, WINDOWS_REMOVE, WINDOWS_GET, WINDOWS_CREATE, WINDOWS_REMOVE, WINDOWS_GET,
TABS_CREATE, TABS_SELECT_AT, TABS_CREATE, TABS_REMOVE, TABS_SELECT_AT, TABS_GET_ZOOM, TABS_SET_ZOOM,
EVENT_KEYPRESS, EVENT_KEYDOWN, EVENT_KEYUP, EVENT_KEYPRESS, EVENT_KEYDOWN, EVENT_KEYUP,
SCROLL_GET, SCROLL_SET, SCROLL_GET, SCROLL_SET,
} from '../shared/messages'; } from '../shared/messages';
@ -20,11 +20,17 @@ receiveContentMessage((message) => {
url: message.url, url: message.url,
windowId: message.windowId, windowId: message.windowId,
}); });
case TABS_REMOVE:
return browser.tabs.remove(message.tabId);
case TABS_SELECT_AT: case TABS_SELECT_AT:
return tabs.selectAt({ return tabs.selectAt({
windowId: message.windowId, windowId: message.windowId,
index: message.index, index: message.index,
}); });
case TABS_GET_ZOOM:
return browser.tabs.getZoom(message.tabId);
case TABS_SET_ZOOM:
return browser.tabs.setZoom(message.tabId, message.factor);
case EVENT_KEYPRESS: case EVENT_KEYPRESS:
case EVENT_KEYDOWN: case EVENT_KEYDOWN:
case EVENT_KEYUP: case EVENT_KEYUP:

@ -1,5 +1,5 @@
import { import {
TABS_CREATE, TABS_SELECT_AT, TABS_CREATE, TABS_SELECT_AT, TABS_GET_ZOOM, TABS_SET_ZOOM,
} from '../shared/messages'; } from '../shared/messages';
import * as ipc from './ipc'; import * as ipc from './ipc';
@ -19,4 +19,19 @@ const selectAt = (windowId, index) => {
}); });
}; };
export { create, selectAt }; const getZoom = (tabId) => {
return ipc.send({
tabId,
type: TABS_GET_ZOOM,
});
};
const setZoom = (tabId, factor) => {
return ipc.send({
type: TABS_SET_ZOOM,
tabId,
factor,
});
};
export { create, selectAt, getZoom, setZoom };

@ -5,6 +5,8 @@ const WINDOWS_REMOVE = 'windows.remove';
const WINDOWS_GET = 'windows.get'; const WINDOWS_GET = 'windows.get';
const TABS_CREATE = 'tabs.create'; const TABS_CREATE = 'tabs.create';
const TABS_SELECT_AT = 'tabs.selectAt'; const TABS_SELECT_AT = 'tabs.selectAt';
const TABS_GET_ZOOM = 'tabs.get.zoom';
const TABS_SET_ZOOM = 'tabs.set.zoom';
const EVENT_KEYPRESS = 'event.keypress'; const EVENT_KEYPRESS = 'event.keypress';
const EVENT_KEYDOWN = 'event.keydown'; const EVENT_KEYDOWN = 'event.keydown';
const EVENT_KEYUP = 'event.keyup'; const EVENT_KEYUP = 'event.keyup';
@ -21,6 +23,8 @@ export {
TABS_CREATE, TABS_CREATE,
TABS_SELECT_AT, TABS_SELECT_AT,
TABS_GET_ZOOM,
TABS_SET_ZOOM,
EVENT_KEYPRESS, EVENT_KEYPRESS,
EVENT_KEYDOWN, EVENT_KEYDOWN,

@ -0,0 +1,72 @@
import { expect } from "chai";
import * as windows from "../ambassador/src/client/windows";
import * as tabs from "../ambassador/src/client/tabs";
import * as keys from "../ambassador/src/client/keys";
const SERVER_URL = "localhost:11111/";
describe("tab test", () => {
let targetWindow;
let targetTab;
before(() => {
return windows.create(SERVER_URL).then((win) => {
targetWindow = win;
});
});
after(() => {
return windows.remove(targetWindow.id);
});
beforeEach(() => {
return tabs.create(targetWindow.id, SERVER_URL).then((tab) => {
targetTab = tab;
});
});
it('zooms-in by zi', () => {
let before;
return tabs.getZoom(targetTab.id).then((zoom) => {
before = zoom;
return keys.press(targetTab.id, 'z');
}).then(() => {
return keys.press(targetTab.id, 'i');
}).then(() => {
return tabs.getZoom(targetTab.id);
}).then((actual) => {
expect(actual).to.be.greaterThan(before);
});
});
it('zooms-in by zo', () => {
let before;
return tabs.getZoom(targetTab.id).then((zoom) => {
before = zoom;
return keys.press(targetTab.id, 'z');
}).then(() => {
return keys.press(targetTab.id, 'o');
}).then(() => {
return tabs.getZoom(targetTab.id);
}).then((actual) => {
expect(actual).to.be.lessThan(before);
});
});
it('zooms-in by zz', () => {
let before;
tabs.setZoom(targetTab.id, 1.5).then(() => {
return tabs.getZoom(targetTab.id);
}).then((zoom) => {
before = zoom;
return keys.press(targetTab.id, 'z');
}).then(() => {
return keys.press(targetTab.id, 'z');
}).then(() => {
return tabs.getZoom(targetTab.id);
}).then((actual) => {
expect(actual).to.be.lessThan(before);
expect(actual).to.be.be(1);
});
});
});