Skip to content

Commit 0f0f55f

Browse files
Added tests for the typescript definition
1 parent 24d46b4 commit 0f0f55f

4 files changed

Lines changed: 150 additions & 5 deletions

File tree

.travis.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,7 @@ before_script:
2929
- export DISPLAY=:99.0
3030
- sh -e /etc/init.d/xvfb start
3131

32-
script:
33-
- npm run lint
34-
- npm run coverage
32+
script: npm run lint && npm run test:typescript && npm run coverage
3533

3634
after_success:
3735
# concatenate all code-coverage data into a single file

package-lock.json

Lines changed: 7 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,10 @@
4444
"lint": "eslint lib test/fixtures test/specs",
4545
"build": "simplifyify lib/index.js --outfile dist/ref-parser.js --standalone \\$RefParser --bundle --debug --minify",
4646
"watch": "npm run build -- --watch",
47-
"test": "npm run test:node && npm run test:browser && npm run lint",
47+
"test": "npm run test:node && npm run test:browser && npm run test:typescript && npm run lint",
4848
"test:node": "mocha",
4949
"test:browser": "karma start --single-run",
50+
"test:typescript": "tsc --noEmit --strict --lib esnext test/specs/typescript-definition.ts",
5051
"coverage": "npm run coverage:node && npm run coverage:browser",
5152
"coverage:node": "nyc --reporter=text --reporter=lcov --report-dir coverage/node mocha",
5253
"coverage:browser": "npm run build -- --coverage && npm run test:browser -- --coverage",
@@ -81,6 +82,7 @@
8182
"npm-check": "^5.9.0",
8283
"nyc": "^13.0.1",
8384
"simplifyify": "^6.0.1",
85+
"typescript": "^3.1.4",
8486
"version-bump-prompt": "^4.2.1"
8587
},
8688
"dependencies": {
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
import $RefParser = require('../../');
2+
import assert = require("assert");
3+
4+
const baseUrl = "http://example.com/schema";
5+
const schemaPath = "my-schema.json";
6+
const schemaObject: $RefParser.JSONSchema = { title: "my-schema" };
7+
const options = {};
8+
const promiseResolve = (schema: object) => undefined;
9+
const promiseReject = (err: Error) => undefined;
10+
const callback = (err: Error | null, schema?: object) => undefined;
11+
12+
13+
// $RefParser class instance
14+
let parser = new $RefParser();
15+
16+
17+
// $RefParser instance properties
18+
assert(parser.$refs.circular === true);
19+
assert(parser.schema.type === "object");
20+
21+
22+
// $RefParser instance methods (with callbacks)
23+
parser.bundle(schemaPath, callback);
24+
parser.bundle(schemaObject, callback);
25+
parser.bundle(schemaPath, options, callback);
26+
parser.bundle(schemaObject, options, callback);
27+
parser.bundle(baseUrl, schemaPath, options, callback);
28+
parser.bundle(baseUrl, schemaObject, options, callback);
29+
30+
parser.dereference(schemaPath, callback);
31+
parser.dereference(schemaObject, callback);
32+
parser.dereference(schemaPath, options, callback);
33+
parser.dereference(schemaObject, options, callback);
34+
parser.dereference(baseUrl, schemaPath, options, callback);
35+
parser.dereference(baseUrl, schemaObject, options, callback);
36+
37+
parser.parse(schemaPath, callback);
38+
parser.parse(schemaObject, callback);
39+
parser.parse(schemaPath, options, callback);
40+
parser.parse(schemaObject, options, callback);
41+
parser.parse(baseUrl, schemaPath, options, callback);
42+
parser.parse(baseUrl, schemaObject, options, callback);
43+
44+
parser.resolve(schemaPath, callback);
45+
parser.resolve(schemaObject, callback);
46+
parser.resolve(schemaPath, options, callback);
47+
parser.resolve(schemaObject, options, callback);
48+
parser.resolve(baseUrl, schemaPath, options, callback);
49+
parser.resolve(baseUrl, schemaObject, options, callback);
50+
51+
52+
// $RefParser instance methods (with Promises)
53+
parser.bundle(schemaPath).then(promiseResolve, promiseReject);
54+
parser.bundle(schemaObject).then(promiseResolve, promiseReject);
55+
parser.bundle(schemaPath, options).then(promiseResolve, promiseReject);
56+
parser.bundle(schemaObject, options).then(promiseResolve, promiseReject);
57+
parser.bundle(baseUrl, schemaPath, options).then(promiseResolve, promiseReject);
58+
parser.bundle(baseUrl, schemaObject, options).then(promiseResolve, promiseReject);
59+
60+
parser.dereference(schemaPath).then(promiseResolve, promiseReject);
61+
parser.dereference(schemaObject).then(promiseResolve, promiseReject);
62+
parser.dereference(schemaPath, options).then(promiseResolve, promiseReject);
63+
parser.dereference(schemaObject, options).then(promiseResolve, promiseReject);
64+
parser.dereference(baseUrl, schemaPath, options).then(promiseResolve, promiseReject);
65+
parser.dereference(baseUrl, schemaObject, options).then(promiseResolve, promiseReject);
66+
67+
parser.parse(schemaPath).then(promiseResolve, promiseReject);
68+
parser.parse(schemaObject).then(promiseResolve, promiseReject);
69+
parser.parse(schemaPath, options).then(promiseResolve, promiseReject);
70+
parser.parse(schemaObject, options).then(promiseResolve, promiseReject);
71+
parser.parse(baseUrl, schemaPath, options).then(promiseResolve, promiseReject);
72+
parser.parse(baseUrl, schemaObject, options).then(promiseResolve, promiseReject);
73+
74+
parser.resolve(schemaPath).then(promiseResolve, promiseReject);
75+
parser.resolve(schemaObject).then(promiseResolve, promiseReject);
76+
parser.resolve(schemaPath, options).then(promiseResolve, promiseReject);
77+
parser.resolve(schemaObject, options).then(promiseResolve, promiseReject);
78+
parser.resolve(baseUrl, schemaPath, options).then(promiseResolve, promiseReject);
79+
parser.resolve(baseUrl, schemaObject, options).then(promiseResolve, promiseReject);
80+
81+
82+
// $RefParser static methods (with callbacks)
83+
$RefParser.bundle(schemaPath, callback);
84+
$RefParser.bundle(schemaObject, callback);
85+
$RefParser.bundle(schemaPath, options, callback);
86+
$RefParser.bundle(schemaObject, options, callback);
87+
$RefParser.bundle(baseUrl, schemaPath, options, callback);
88+
$RefParser.bundle(baseUrl, schemaObject, options, callback);
89+
90+
$RefParser.dereference(schemaPath, callback);
91+
$RefParser.dereference(schemaObject, callback);
92+
$RefParser.dereference(schemaPath, options, callback);
93+
$RefParser.dereference(schemaObject, options, callback);
94+
$RefParser.dereference(baseUrl, schemaPath, options, callback);
95+
$RefParser.dereference(baseUrl, schemaObject, options, callback);
96+
97+
$RefParser.parse(schemaPath, callback);
98+
$RefParser.parse(schemaObject, callback);
99+
$RefParser.parse(schemaPath, options, callback);
100+
$RefParser.parse(schemaObject, options, callback);
101+
$RefParser.parse(baseUrl, schemaPath, options, callback);
102+
$RefParser.parse(baseUrl, schemaObject, options, callback);
103+
104+
$RefParser.resolve(schemaPath, callback);
105+
$RefParser.resolve(schemaObject, callback);
106+
$RefParser.resolve(schemaPath, options, callback);
107+
$RefParser.resolve(schemaObject, options, callback);
108+
$RefParser.resolve(baseUrl, schemaPath, options, callback);
109+
$RefParser.resolve(baseUrl, schemaObject, options, callback);
110+
111+
112+
// $RefParser static methods (with Promises)
113+
$RefParser.bundle(schemaPath).then(promiseResolve, promiseReject);
114+
$RefParser.bundle(schemaObject).then(promiseResolve, promiseReject);
115+
$RefParser.bundle(schemaPath, options).then(promiseResolve, promiseReject);
116+
$RefParser.bundle(schemaObject, options).then(promiseResolve, promiseReject);
117+
$RefParser.bundle(baseUrl, schemaPath, options).then(promiseResolve, promiseReject);
118+
$RefParser.bundle(baseUrl, schemaObject, options).then(promiseResolve, promiseReject);
119+
120+
$RefParser.dereference(schemaPath).then(promiseResolve, promiseReject);
121+
$RefParser.dereference(schemaObject).then(promiseResolve, promiseReject);
122+
$RefParser.dereference(schemaPath, options).then(promiseResolve, promiseReject);
123+
$RefParser.dereference(schemaObject, options).then(promiseResolve, promiseReject);
124+
$RefParser.dereference(baseUrl, schemaPath, options).then(promiseResolve, promiseReject);
125+
$RefParser.dereference(baseUrl, schemaObject, options).then(promiseResolve, promiseReject);
126+
127+
$RefParser.parse(schemaPath).then(promiseResolve, promiseReject);
128+
$RefParser.parse(schemaObject).then(promiseResolve, promiseReject);
129+
$RefParser.parse(schemaPath, options).then(promiseResolve, promiseReject);
130+
$RefParser.parse(schemaObject, options).then(promiseResolve, promiseReject);
131+
$RefParser.parse(baseUrl, schemaPath, options).then(promiseResolve, promiseReject);
132+
$RefParser.parse(baseUrl, schemaObject, options).then(promiseResolve, promiseReject);
133+
134+
$RefParser.resolve(schemaPath).then(promiseResolve, promiseReject);
135+
$RefParser.resolve(schemaObject).then(promiseResolve, promiseReject);
136+
$RefParser.resolve(schemaPath, options).then(promiseResolve, promiseReject);
137+
$RefParser.resolve(schemaObject, options).then(promiseResolve, promiseReject);
138+
$RefParser.resolve(baseUrl, schemaPath, options).then(promiseResolve, promiseReject);
139+
$RefParser.resolve(baseUrl, schemaObject, options).then(promiseResolve, promiseReject);

0 commit comments

Comments
 (0)