This commit is contained in:
2019-08-23 00:12:49 +02:00
committed by GitHub
parent c30e9f27a5
commit fd3a2bc24f
94 changed files with 13855 additions and 9269 deletions

View File

@@ -0,0 +1,47 @@
import getDevTools from './getDevTools';
import renderer from 'react-test-renderer';
describe('Console', () => {
describe('output', () => {
let devTool;
beforeEach(() => {
devTool = getDevTools();
});
it('should render an emptry list', () => {
expect(devTool.console.output().props.logs).toEqual([
]);
});
it('should render one item', () => {
renderer.act(() => {
devTool.log.add('test');
});
expect(devTool.console.output().props.logs).toEqual([
'test',
]);
});
it('should render multible items item', () => {
renderer.act(() => {
devTool.log.add('1');
devTool.log.add('2');
devTool.log.add('3');
devTool.log.add('4');
devTool.log.add('5');
devTool.log.add('6');
devTool.log.add('7');
});
expect(devTool.console.output().props.logs).toEqual([
'1',
'2',
'3',
'4',
'5',
'6',
'7',
]);
});
});
})

View File

@@ -0,0 +1,61 @@
import React from 'react';
import renderer from 'react-test-renderer';
import {
DevTool,
} from '../src';
import Console from '../src/components/DevTool/Console';
import ConsoleOutput, { Row as OutputRow} from '../src/components/DevTool/Console/Output';
import ConsoleInput from '../src/components/DevTool/Console/Input';
import Requests from '../src/components/DevTool/Requests';
import RequestsDetails from '../src/components/DevTool/Requests/Details';
import RequestsList from '../src/components/DevTool/Requests/List';
import Storage from '../src/components/DevTool/Storage';
import StorageKeys from '../src/components/DevTool/Storage/Keys';
import StorageValues from '../src/components/DevTool/Storage/Value';
const createLog = () => {
const listeners = [];
const logs = [];
return {
listen: (l) => listeners.push(l),
unlisten: (l) => listeners = listeners.filter(nl => nl !== l),
add: (log) => {
logs.push(log);
listeners.forEach(l => l(logs));
}
}
}
const getDevTools = () => {
const log = createLog();
const instance = renderer.create(
<DevTool
logProvider={log}
/>
);
const result = {
instance,
console: {
main: () => instance.root.findByType(Console),
output: () => instance.root.findByType(ConsoleOutput),
rows: () => instance.root.findAllByType(OutputRow),
input: () => instance.root.findByType(ConsoleInput),
},
requests: {
main: () => instance.root.findByType(Requests),
output: () => instance.root.findByType(RequestsDetails),
input: () => instance.root.findByType(RequestsList),
},
storage: {
main: () => instance.root.findByType(Storage),
output: () => instance.root.findByType(StorageKeys),
input: () => instance.root.findByType(StorageValues),
},
log,
};
return result;
};
export default getDevTools;