diff --git a/services/web/.eslintrc b/services/web/.eslintrc index 3d0b68ae71..01107abc0c 100644 --- a/services/web/.eslintrc +++ b/services/web/.eslintrc @@ -11,7 +11,10 @@ "expect": true }, "rules": { - "max-len": "error", + "max-len": ["error", { + // Ignore long describe/it test blocks + "ignorePattern": "^\\s*(it|describe)\\s*\\(['\"]" + }], // Add some chai specific rules "chai-expect/missing-assertion": "error", diff --git a/services/web/karma.conf.js b/services/web/karma.conf.js index b5f74d0f29..867b6f4ceb 100644 --- a/services/web/karma.conf.js +++ b/services/web/karma.conf.js @@ -33,7 +33,6 @@ module.exports = function (config) { 'test/unit_frontend/es/**/*.js': ['webpack'] }, frameworks: ['requirejs', 'mocha', 'chai-sinon'], - reporters: ['tap'], // Configure webpack in the tests webpack: { resolve: { diff --git a/services/web/public/es/rich-text.js b/services/web/public/es/rich-text.js index f87cb46339..55de7d8fb1 100644 --- a/services/web/public/es/rich-text.js +++ b/services/web/public/es/rich-text.js @@ -1,11 +1,19 @@ import CodeMirror, { Doc } from 'codemirror' +import LatexMode from './ide/editor/codemirror/LatexMode' + export function init (rootEl) { - return CodeMirror(rootEl) + CodeMirror.defineMode('latex', () => new LatexMode()) + CodeMirror.defineMIME('application/x-tex', 'latex') + CodeMirror.defineMIME('application/x-latex', 'latex') + + return CodeMirror(rootEl, { + mode: 'latex' + }) } export function openDoc (cm, content) { - const newDoc = Doc(content) + const newDoc = Doc(content, 'latex') cm.swapDoc(newDoc) return newDoc } diff --git a/services/web/test/unit_frontend/coffee/ide/editor/directives/cmEditorTests.coffee b/services/web/test/unit_frontend/coffee/ide/editor/directives/cmEditorTests.coffee index f7667e74cc..a08e324375 100644 --- a/services/web/test/unit_frontend/coffee/ide/editor/directives/cmEditorTests.coffee +++ b/services/web/test/unit_frontend/coffee/ide/editor/directives/cmEditorTests.coffee @@ -12,6 +12,8 @@ define ['ide/editor/directives/cmEditor'], () -> } } + afterEach () -> window.Frontend = null + it 'inits Rich Text', () -> inject ($compile, $rootScope) => $compile('
')($rootScope) diff --git a/services/web/webpack.config.js b/services/web/webpack.config.js index 3f7c199b07..7210a27488 100644 --- a/services/web/webpack.config.js +++ b/services/web/webpack.config.js @@ -45,7 +45,9 @@ module.exports = { use: [{ loader: 'babel-loader', options: { - presets: ['env'], + presets: [ + ['env', { modules: false }] + ], // Configure babel-loader to cache compiled output so that subsequent // compile runs are much faster cacheDirectory: true