mirror of
https://github.com/documentationjs/documentation.git
synced 2026-01-18 14:17:30 +00:00
* build: Use Flow syntax without comments. We're switching to Flow annotations - not Flow comments. This gives documentation.js the ability to self-document without JSDoc types and improves our compatibility with tools like prettier. Fixes #729. Fixes #709
60 lines
1.4 KiB
JavaScript
60 lines
1.4 KiB
JavaScript
var get = require('../utils').get;
|
|
var File = require('vinyl');
|
|
var getPort = require('get-port');
|
|
var Server = require('../../src/serve/server');
|
|
|
|
var jsFile = new File({
|
|
cwd: '/',
|
|
base: '/test/',
|
|
path: '/test/file.js',
|
|
contents: new Buffer('var test = 123;')
|
|
});
|
|
|
|
var coffeeFile = new File({
|
|
cwd: '/',
|
|
base: '/test/',
|
|
path: '/test/file.coffee',
|
|
contents: new Buffer('test = 123')
|
|
});
|
|
|
|
var indexFile = new File({
|
|
cwd: '/',
|
|
base: '/test/',
|
|
path: '/test/index.html',
|
|
contents: new Buffer('<html>')
|
|
});
|
|
|
|
test('server - throws on bad port', function() {
|
|
expect(function() {
|
|
var server = new Server('${port}');
|
|
}).toThrow();
|
|
expect(function() {
|
|
var server = new Server();
|
|
}).toThrow();
|
|
});
|
|
|
|
test('server', async function() {
|
|
const port = await getPort();
|
|
const server = new Server(port, true);
|
|
expect(server).toBeTruthy();
|
|
await server.start();
|
|
try {
|
|
await get(`http://localhost:${port}/file.coffee`);
|
|
} catch (code) {
|
|
expect(code).toEqual(404);
|
|
}
|
|
|
|
server.setFiles([coffeeFile]);
|
|
var text;
|
|
|
|
text = await get(`http://localhost:${port}/file.coffee`);
|
|
expect(text).toMatchSnapshot();
|
|
server.setFiles([coffeeFile, jsFile]);
|
|
text = await get(`http://localhost:${port}/file.js`);
|
|
expect(text).toMatchSnapshot();
|
|
server.setFiles([coffeeFile, indexFile, jsFile]);
|
|
text = await get(`http://localhost:${port}/`);
|
|
expect(text).toMatchSnapshot();
|
|
await server.stop();
|
|
});
|