mirror of
https://github.com/morten-olsen/react-native-debug-console.git
synced 2026-02-08 00:36:26 +01:00
V2 (#1)
This commit is contained in:
47
packages/lib/test/Console.spec.js
Normal file
47
packages/lib/test/Console.spec.js
Normal 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',
|
||||
]);
|
||||
});
|
||||
});
|
||||
})
|
||||
61
packages/lib/test/getDevTools.js
Normal file
61
packages/lib/test/getDevTools.js
Normal 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;
|
||||
Reference in New Issue
Block a user