Skip to content

Commit 9cc94dc

Browse files
committed
Adding test for microsoft#16
1 parent efbfce2 commit 9cc94dc

File tree

3 files changed

+28
-19
lines changed

3 files changed

+28
-19
lines changed

e2e/tests/_helpers.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,10 @@ exports.openMockFile = (server, mockFileName, fileContent) => {
99
});
1010
return server;
1111
};
12+
13+
14+
exports.getFirstResponseOfType = (command, server) => {
15+
const response = server.responses.find(response => response.command === command);
16+
assert.isTrue(response !== undefined);
17+
return response;
18+
};

e2e/tests/completions.js

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
11
const assert = require('chai').assert;
22
const createServer = require('../server-fixture');
3-
const { openMockFile } = require('./_helpers');
3+
const { openMockFile, getFirstResponseOfType } = require('./_helpers');
44

55
const mockFileName = 'main.ts';
66

7-
const getFirstResponseOfType = (command, server) => {
8-
const response = server.responses.find(response => response.command === command);
9-
assert.isTrue(response !== undefined);
10-
return response;
11-
};
12-
13-
147
describe('Completions', () => {
158
it('should return property value completions single line string', () => {
169
const server = createServer();

e2e/tests/errors.js

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
const assert = require('chai').assert;
22
const createServer = require('../server-fixture');
3-
const { openMockFile } = require('./_helpers');
3+
const { openMockFile, getFirstResponseOfType } = require('./_helpers');
44

55
const mockFileName = 'main.ts';
66

7+
78
describe('Errors', () => {
89
it('should return error for unknown property', () => {
910
const server = createServer();
1011
openMockFile(server, mockFileName, 'function css(x) { return x; }; const q = css`boarder: 1px solid black;`');
1112
server.send({ command: 'semanticDiagnosticsSync', arguments: { file: mockFileName } });
1213

1314
return server.close().then(() => {
14-
assert.strictEqual(server.responses.length, 3);
15-
const errorResponse = server.responses[2];
15+
const errorResponse = getFirstResponseOfType('semanticDiagnosticsSync', server.responses);
1616
assert.isTrue(errorResponse.success);
1717
assert.strictEqual(errorResponse.body.length, 1);
1818
const error = errorResponse.body[0];
@@ -30,8 +30,7 @@ describe('Errors', () => {
3030
server.send({ command: 'semanticDiagnosticsSync', arguments: { file: mockFileName } });
3131

3232
return server.close().then(() => {
33-
assert.strictEqual(server.responses.length, 3);
34-
const errorResponse = server.responses[2];
33+
const errorResponse = getFirstResponseOfType('semanticDiagnosticsSync', server.responses);
3534
assert.isTrue(errorResponse.success);
3635
assert.strictEqual(errorResponse.body.length, 0);
3736
});
@@ -43,8 +42,7 @@ describe('Errors', () => {
4342
server.send({ command: 'semanticDiagnosticsSync', arguments: { file: mockFileName } });
4443

4544
return server.close().then(() => {
46-
assert.strictEqual(server.responses.length, 3);
47-
const errorResponse = server.responses[2];
45+
const errorResponse = getFirstResponseOfType('semanticDiagnosticsSync', server.responses);
4846
assert.isTrue(errorResponse.success);
4947
assert.strictEqual(errorResponse.body.length, 0);
5048
});
@@ -56,8 +54,7 @@ describe('Errors', () => {
5654
server.send({ command: 'semanticDiagnosticsSync', arguments: { file: mockFileName } });
5755

5856
return server.close().then(() => {
59-
assert.strictEqual(server.responses.length, 3);
60-
const errorResponse = server.responses[2];
57+
const errorResponse = getFirstResponseOfType('semanticDiagnosticsSync', server.responses);
6158
assert.isTrue(errorResponse.success);
6259
assert.strictEqual(errorResponse.body.length, 0);
6360
});
@@ -72,8 +69,20 @@ describe('Errors', () => {
7269
server.send({ command: 'semanticDiagnosticsSync', arguments: { file: mockFileName } });
7370

7471
return server.close().then(() => {
75-
assert.strictEqual(server.responses.length, 3);
76-
const errorResponse = server.responses[2];
72+
const errorResponse = getFirstResponseOfType('semanticDiagnosticsSync', server.responses);
73+
assert.isTrue(errorResponse.success);
74+
assert.strictEqual(errorResponse.body.length, 0);
75+
});
76+
});
77+
78+
it('should return errors for invalid text', () => {
79+
const server = createServer();
80+
openMockFile(server, mockFileName, 'function css(strings, ...) { return ""; }; const q = css`@@ ; @erer ;`')
81+
server.send({ command: 'semanticDiagnosticsSync', arguments: { file: mockFileName } });
82+
83+
return server.close().then(() => {
84+
const errorResponse = getFirstResponseOfType('semanticDiagnosticsSync', server.responses);
85+
console.log(errorResponse)
7786
assert.isTrue(errorResponse.success);
7887
assert.strictEqual(errorResponse.body.length, 0);
7988
});

0 commit comments

Comments
 (0)