Tests restructuring
parent
5c6e62af5a
commit
f2aadffd95
|
@ -17,7 +17,7 @@ function run(path: string) {
|
|||
try {
|
||||
const {types} = collect(path);
|
||||
|
||||
const output = yaml.dump({types}, null, null, {
|
||||
const output = yaml.dump(types, null, null, {
|
||||
indent: 4,
|
||||
width: 100,
|
||||
});
|
||||
|
|
|
@ -48,8 +48,8 @@ export default class Collector {
|
|||
const ast = this.parser.parse(code);
|
||||
|
||||
// TODO: customize it.
|
||||
const id = pathToId(path);
|
||||
|
||||
// XXX: replace with normal resolver and path-to-id converter.
|
||||
const id = pathToId(path.replace(/\/source\.js$/, ''));
|
||||
module = new Module(id, path);
|
||||
|
||||
const scope = this._global.extend(module);
|
||||
|
|
18
tests/run.js
18
tests/run.js
|
@ -7,12 +7,12 @@ import wu from 'wu';
|
|||
import collect from '../src';
|
||||
|
||||
function run(title) {
|
||||
let actual, expected: $FlowFixMe;
|
||||
let actual, expected;
|
||||
|
||||
// Run the collector only if the suite will be checked.
|
||||
before(() => {
|
||||
actual = collect(title + '.js');
|
||||
expected = yaml.load(fs.readFileSync(title + '.yaml', 'utf8'));
|
||||
actual = collect(title + '/source.js');
|
||||
expected = yaml.load(fs.readFileSync(title + '/types.yaml', 'utf8'));
|
||||
});
|
||||
|
||||
it('should not include cycles', () => {
|
||||
|
@ -20,7 +20,7 @@ function run(title) {
|
|||
});
|
||||
|
||||
it('should provide expected types', () => {
|
||||
assert.deepEqual(actual.types, expected.types);
|
||||
assert.deepEqual(actual.types, expected);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -47,13 +47,9 @@ function detectCycles(obj: mixed, cycles: Set<mixed> = new Set, objs: Set<mixed>
|
|||
function main() {
|
||||
process.chdir(path.join(__dirname, 'samples'));
|
||||
|
||||
fs.readdirSync('.')
|
||||
.filter(name => path.extname(name) === '.js')
|
||||
.forEach(name => {
|
||||
const title = path.basename(name, '.js');
|
||||
|
||||
describe(title, () => run(title));
|
||||
});
|
||||
for (const title of fs.readdirSync('.')) {
|
||||
describe(title, () => run(title));
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: any
|
||||
id: [any, X]
|
||||
- kind: record
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: string
|
||||
id: [disorder, Z]
|
||||
- kind: record
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: x
|
|
@ -1 +0,0 @@
|
|||
types: []
|
|
@ -0,0 +1 @@
|
|||
[]
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: x
|
|
@ -1,10 +1,10 @@
|
|||
import D, {A, B as F} from './externals/first';
|
||||
import type {C} from './externals/first';
|
||||
import D, {A, B as F} from './modules/first';
|
||||
import type {C} from './modules/first';
|
||||
|
||||
import UM from './unused/module';
|
||||
|
||||
const {N, M, K: T} = require('./externals/second');
|
||||
const P = require('./externals/second');
|
||||
const {N, M, K: T} = require('./modules/second');
|
||||
const P = require('./modules/second');
|
||||
|
||||
const UR = require('./unused/module');
|
||||
|
|
@ -1,49 +1,48 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
||||
value: {kind: boolean}
|
||||
required: true
|
||||
id: [externals, first, A]
|
||||
id: [externals, modules, first, A]
|
||||
- kind: record
|
||||
fields:
|
||||
- name: b
|
||||
value: {kind: string}
|
||||
required: true
|
||||
id: [externals, first, B]
|
||||
id: [externals, modules, first, B]
|
||||
- kind: record
|
||||
fields:
|
||||
- name: c
|
||||
value: {kind: number, repr: f64}
|
||||
required: true
|
||||
id: [externals, first, CC]
|
||||
id: [externals, modules, first, CC]
|
||||
- kind: record
|
||||
fields:
|
||||
- name: d
|
||||
value: {kind: number, repr: f64}
|
||||
required: true
|
||||
id: [externals, first, D]
|
||||
id: [externals, modules, first, D]
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
||||
value:
|
||||
kind: reference
|
||||
to: [externals, first, A]
|
||||
to: [externals, modules, first, A]
|
||||
required: true
|
||||
- name: b
|
||||
value:
|
||||
kind: reference
|
||||
to: [externals, first, B]
|
||||
to: [externals, modules, first, B]
|
||||
required: true
|
||||
- name: c
|
||||
value:
|
||||
kind: reference
|
||||
to: [externals, first, CC]
|
||||
to: [externals, modules, first, CC]
|
||||
required: true
|
||||
- name: d
|
||||
value:
|
||||
kind: reference
|
||||
to: [externals, first, D]
|
||||
to: [externals, modules, first, D]
|
||||
required: true
|
||||
id: [externals, X]
|
||||
- kind: record
|
||||
|
@ -51,45 +50,45 @@ types:
|
|||
- name: n
|
||||
value: {kind: boolean}
|
||||
required: true
|
||||
id: [externals, second, N]
|
||||
id: [externals, modules, second, N]
|
||||
- kind: record
|
||||
fields:
|
||||
- name: m
|
||||
value: {kind: string}
|
||||
required: true
|
||||
id: [externals, second, M]
|
||||
id: [externals, modules, second, M]
|
||||
- kind: record
|
||||
fields:
|
||||
- name: k
|
||||
value: {kind: number, repr: f64}
|
||||
required: true
|
||||
id: [externals, second, KK]
|
||||
id: [externals, modules, second, KK]
|
||||
- kind: record
|
||||
fields:
|
||||
- name: p
|
||||
value: {kind: number, repr: f64}
|
||||
required: true
|
||||
id: [externals, second, P]
|
||||
id: [externals, modules, second, P]
|
||||
- kind: record
|
||||
fields:
|
||||
- name: n
|
||||
value:
|
||||
kind: reference
|
||||
to: [externals, second, N]
|
||||
to: [externals, modules, second, N]
|
||||
required: true
|
||||
- name: m
|
||||
value:
|
||||
kind: reference
|
||||
to: [externals, second, M]
|
||||
to: [externals, modules, second, M]
|
||||
required: true
|
||||
- name: k
|
||||
value:
|
||||
kind: reference
|
||||
to: [externals, second, KK]
|
||||
to: [externals, modules, second, KK]
|
||||
required: true
|
||||
- name: p
|
||||
value:
|
||||
kind: reference
|
||||
to: [externals, second, P]
|
||||
to: [externals, modules, second, P]
|
||||
required: true
|
||||
id: [externals, Y]
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: t
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: map
|
||||
keys: {kind: string}
|
||||
values: {kind: boolean}
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: x
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: mixed
|
||||
id: [mixed, X]
|
||||
- kind: record
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: maybe
|
||||
value: {kind: string}
|
||||
id: [nonMaybeType, X]
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: map
|
||||
keys: {kind: mixed}
|
||||
values: {kind: mixed}
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: x
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: string
|
||||
id: [references, A]
|
||||
- kind: record
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: boolean
|
||||
id: [scopes, '2', X]
|
||||
- kind: string
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields: []
|
||||
id: [shadowing, '1', Buffer]
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: x
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: xxx
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields: []
|
||||
id: [typeInMethod, Test]
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
|
@ -1 +0,0 @@
|
|||
types: []
|
|
@ -0,0 +1 @@
|
|||
[]
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
|
@ -1,4 +1,3 @@
|
|||
types:
|
||||
- kind: record
|
||||
fields:
|
||||
- name: a
|
Loading…
Reference in New Issue