Tests restructuring

master
Paul Loyd 2017-12-01 20:44:35 +03:00
parent 5c6e62af5a
commit f2aadffd95
73 changed files with 32 additions and 67 deletions

View File

@ -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,
});

View File

@ -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);

View File

@ -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();

View File

@ -1,4 +1,3 @@
types:
- kind: any
id: [any, X]
- kind: record

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a

View File

@ -1,4 +1,3 @@
types:
- kind: string
id: [disorder, Z]
- kind: record

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: x

View File

@ -1 +0,0 @@
types: []

View File

@ -0,0 +1 @@
[]

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: x

View File

@ -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');

View File

@ -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]

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: t

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a

View File

@ -1,4 +1,3 @@
types:
- kind: map
keys: {kind: string}
values: {kind: boolean}

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: x

View File

@ -1,4 +1,3 @@
types:
- kind: mixed
id: [mixed, X]
- kind: record

View File

@ -1,4 +1,3 @@
types:
- kind: maybe
value: {kind: string}
id: [nonMaybeType, X]

View File

@ -1,4 +1,3 @@
types:
- kind: map
keys: {kind: mixed}
values: {kind: mixed}

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: x

View File

@ -1,4 +1,3 @@
types:
- kind: string
id: [references, A]
- kind: record

View File

@ -1,4 +1,3 @@
types:
- kind: boolean
id: [scopes, '2', X]
- kind: string

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields: []
id: [shadowing, '1', Buffer]

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: x

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: xxx

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields: []
id: [typeInMethod, Test]

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a

View File

@ -1 +0,0 @@
types: []

View File

@ -0,0 +1 @@
[]

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a

View File

@ -1,4 +1,3 @@
types:
- kind: record
fields:
- name: a