mathoid
Version:
Render TeX to SVG and MathML using MathJax. Based on svgtex.
64 lines (54 loc) • 1.86 kB
JavaScript
;
const preq = require( 'preq' );
const assert = require( '../../utils/assert.js' );
const server = require( '../../utils/server.js' );
if ( !server.stopHookAdded ) {
server.stopHookAdded = true;
// eslint-disable-next-line mocha/no-top-level-hooks
after( () => server.stop() );
}
describe( 'express app', function () {
this.timeout( 20000 );
before( () => {
return server.start();
} );
it( 'should get robots.txt', () => {
return preq.get( {
uri: `${server.config.uri}robots.txt`
} ).then( ( res ) => {
assert.deepEqual( res.status, 200 );
assert.deepEqual( res.body, 'User-agent: *\nDisallow: /\n' );
} );
} );
it( 'should set CORS headers', () => {
const cors = server.config.service.conf.cors;
if ( cors === false ) {
return true;
}
return preq.get( {
uri: `${server.config.uri}robots.txt`
} ).then( ( res ) => {
assert.deepEqual( res.status, 200 );
assert.deepEqual( res.headers[ 'access-control-allow-origin' ], cors );
assert.deepEqual( !!res.headers[ 'access-control-allow-headers' ], true );
assert.deepEqual( !!res.headers[ 'access-control-expose-headers' ], true );
} );
} );
it( 'should set CSP headers', () => {
const csp = server.config.service.conf.csp;
if ( csp === false ) {
return true;
}
return preq.get( {
uri: `${server.config.uri}robots.txt`
} ).then( ( res ) => {
assert.deepEqual( res.status, 200 );
assert.deepEqual( res.headers[ 'x-xss-protection' ], '1; mode=block' );
assert.deepEqual( res.headers[ 'x-content-type-options' ], 'nosniff' );
assert.deepEqual( res.headers[ 'x-frame-options' ], 'SAMEORIGIN' );
assert.deepEqual( res.headers[ 'content-security-policy' ], csp );
assert.deepEqual( res.headers[ 'x-content-security-policy' ], csp );
assert.deepEqual( res.headers[ 'x-webkit-csp' ], csp );
} );
} );
} );