commit
72bf3cc2bd
13 changed files with 45 additions and 3 deletions
|
@ -34,6 +34,7 @@ module.exports = function (config) {
|
|||
},
|
||||
|
||||
reporters: ['mocha'],
|
||||
browserDisconnectTimeout: 5000,
|
||||
|
||||
plugins: [
|
||||
require('./karma-webext-launcher'),
|
||||
|
|
|
@ -73,6 +73,10 @@ const exec = (operation, tab) => {
|
|||
return browser.tabs.sendMessage(tab.id, {
|
||||
type: messages.CONSOLE_SHOW_FIND
|
||||
});
|
||||
case operations.CANCEL:
|
||||
return browser.tabs.sendMessage(tab.id, {
|
||||
type: messages.CONSOLE_HIDE,
|
||||
});
|
||||
default:
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
import actions from 'console/actions';
|
||||
|
||||
const hide = () => {
|
||||
return {
|
||||
type: actions.CONSOLE_HIDE,
|
||||
};
|
||||
};
|
||||
|
||||
const showCommand = (text) => {
|
||||
return {
|
||||
type: actions.CONSOLE_SHOW_COMMAND,
|
||||
|
@ -61,6 +67,6 @@ const completionPrev = () => {
|
|||
};
|
||||
|
||||
export {
|
||||
showCommand, showFind, showError, showInfo, hideCommand, setConsoleText,
|
||||
hide, showCommand, showFind, showError, showInfo, hideCommand, setConsoleText,
|
||||
setCompletions, completionNext, completionPrev
|
||||
};
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
export default {
|
||||
// console commands
|
||||
CONSOLE_HIDE: 'console.hide',
|
||||
CONSOLE_SHOW_COMMAND: 'console.show.command',
|
||||
CONSOLE_SHOW_ERROR: 'console.show.error',
|
||||
CONSOLE_SHOW_INFO: 'console.show.info',
|
||||
|
|
|
@ -24,6 +24,8 @@ const onMessage = (message) => {
|
|||
return store.dispatch(consoleActions.showError(message.text));
|
||||
case messages.CONSOLE_SHOW_INFO:
|
||||
return store.dispatch(consoleActions.showInfo(message.text));
|
||||
case messages.CONSOLE_HIDE:
|
||||
return store.dispatch(consoleActions.hide());
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -53,6 +53,10 @@ const nextConsoleText = (completions, group, item, defaults) => {
|
|||
|
||||
export default function reducer(state = defaultState, action = {}) {
|
||||
switch (action.type) {
|
||||
case actions.CONSOLE_HIDE:
|
||||
return Object.assign({}, state, {
|
||||
mode: '',
|
||||
});
|
||||
case actions.CONSOLE_SHOW_COMMAND:
|
||||
return Object.assign({}, state, {
|
||||
mode: 'command',
|
||||
|
|
|
@ -1,10 +1,17 @@
|
|||
import actions from 'content/actions';
|
||||
import * as keyUtils from 'shared/utils/keys';
|
||||
import operations from 'shared/operations';
|
||||
|
||||
const reservedKeymaps = {
|
||||
'<Esc>': { type: operations.CANCEL },
|
||||
'<C-[>': { type: operations.CANCEL },
|
||||
};
|
||||
|
||||
const set = (value) => {
|
||||
let entries = [];
|
||||
if (value.keymaps) {
|
||||
entries = Object.entries(value.keymaps).map((entry) => {
|
||||
let keymaps = Object.assign({}, value.keymaps, reservedKeymaps);
|
||||
entries = Object.entries(keymaps).map((entry) => {
|
||||
return [
|
||||
keyUtils.fromMapKeys(entry[0]),
|
||||
entry[1],
|
||||
|
|
|
@ -32,6 +32,7 @@ export default {
|
|||
CONSOLE_SHOW_ERROR: 'console.show.error',
|
||||
CONSOLE_SHOW_INFO: 'console.show.info',
|
||||
CONSOLE_SHOW_FIND: 'console.show.find',
|
||||
CONSOLE_HIDE: 'console.hide',
|
||||
|
||||
FOLLOW_START: 'follow.start',
|
||||
FOLLOW_REQUEST_COUNT_TARGETS: 'follow.request.count.targets',
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
export default {
|
||||
// Hide console, or cancel some user actions
|
||||
CANCEL: 'cancel',
|
||||
|
||||
// Addons
|
||||
ADDON_ENABLE: 'addon.enable',
|
||||
ADDON_DISABLE: 'addon.disable',
|
||||
|
|
|
@ -30,7 +30,6 @@ describe("setting reducer", () => {
|
|||
};
|
||||
state = settingReducer(state, action);
|
||||
|
||||
console.log(state);
|
||||
expect(state.value.properties).to.have.property('smoothscroll', true);
|
||||
expect(state.value.properties).to.have.property('encoding', 'utf-8');
|
||||
});
|
||||
|
|
|
@ -3,6 +3,12 @@ import actions from 'console/actions';
|
|||
import * as consoleActions from 'console/actions/console';
|
||||
|
||||
describe("console actions", () => {
|
||||
describe('hide', () => {
|
||||
it('create CONSOLE_HIDE action', () => {
|
||||
let action = consoleActions.hide();
|
||||
expect(action.type).to.equal(actions.CONSOLE_HIDE);
|
||||
});
|
||||
});
|
||||
describe("showCommand", () => {
|
||||
it('create CONSOLE_SHOW_COMMAND action', () => {
|
||||
let action = consoleActions.showCommand('hello');
|
||||
|
|
|
@ -13,6 +13,12 @@ describe("console reducer", () => {
|
|||
expect(state).to.have.property('itemSelection', -1);
|
||||
});
|
||||
|
||||
it('return next state for CONSOLE_HIDE', () => {
|
||||
let action = { type: actions.CONSOLE_HIDE };
|
||||
let state = reducer({ mode: 'error' }, action);
|
||||
expect(state).to.have.property('mode', '');
|
||||
})
|
||||
|
||||
it('return next state for CONSOLE_SHOW_COMMAND', () => {
|
||||
let action = { type: actions.CONSOLE_SHOW_COMMAND, text: 'open ' };
|
||||
let state = reducer({}, action);
|
||||
|
|
|
@ -23,6 +23,8 @@ describe("setting actions", () => {
|
|||
let map = new Map(keymaps);
|
||||
expect(map).to.have.deep.all.keys(
|
||||
[
|
||||
[{ key: 'Esc', shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }],
|
||||
[{ key: '[', shiftKey: false, ctrlKey: true, altKey: false, metaKey: false }],
|
||||
[{ key: 'd', shiftKey: false, ctrlKey: false, altKey: false, metaKey: false },
|
||||
{ key: 'd', shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }],
|
||||
[{ key: 'z', shiftKey: false, ctrlKey: false, altKey: false, metaKey: false },
|
||||
|
|
Reference in a new issue