Some checks failed
Create issues from TODOs / todos (push) Failing after 3s
Close inactive issues / close-issues (push) Has been cancelled
Deploy GitHub Pages / deploy-preview (push) Has been cancelled
CI / ⚙️ Variables Setup (push) Has been cancelled
CI / ⚙️ Test Guard (push) Has been cancelled
CI / 🚀 Notify external services - draft (push) Has been cancelled
CI / 📦 Build Packages (push) Has been cancelled
CI / 📦 Meteor Build (coverage) (push) Has been cancelled
CI / 📦 Meteor Build (production) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], fips) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Publish Docker Images (ghcr.io) (push) Has been cancelled
CI / 📦 Track Image Sizes (push) Has been cancelled
CI / 🔎 Code Check - Action Lint (push) Has been cancelled
CI / 🔎 Code Check (push) Has been cancelled
CI / 🔨 Test Storybook (push) Has been cancelled
CI / 🔨 Test Unit (push) Has been cancelled
CI / 🔨 Test API (CE) (push) Has been cancelled
CI / 🔨 Test API Livechat (CE) (push) Has been cancelled
CI / 🔨 Test UI (CE) (push) Has been cancelled
CI / 🔨 Test API (EE) (push) Has been cancelled
CI / 🔨 Test API Livechat (EE) (push) Has been cancelled
CI / 🔨 Test API Apps (deno-runtime - EE) (push) Has been cancelled
CI / 🔨 Test UI (EE) (push) Has been cancelled
CI / 🔨 Test API (FIPS) (push) Has been cancelled
CI / 🔨 Test API Livechat (FIPS) (push) Has been cancelled
CI / 🔨 Test UI (FIPS) (push) Has been cancelled
CI / 🔨 Test Federation Matrix (push) Has been cancelled
CI / 📊 Report Coverage (push) Has been cancelled
CI / ✅ Tests Done (push) Has been cancelled
CI / 🚀 Publish build assets (push) Has been cancelled
CI / 🚀 Publish Docker Images (DockerHub) (push) Has been cancelled
CI / 🚀 Notify external services (push) Has been cancelled
CI / Update Version Durability (push) Has been cancelled
Release / Release (push) Has been cancelled
Auto-close duplicate issues / auto-close-duplicates (push) Failing after 1s
Code scanning - action / CodeQL-Build (push) Failing after 2s
213 lines
2.8 KiB
TypeScript
213 lines
2.8 KiB
TypeScript
import { expect } from 'chai';
|
|
|
|
import hljs, { register } from '../../../../app/markdown/lib/hljs';
|
|
|
|
const lazyLanguages: string[] = [
|
|
'onec',
|
|
'abnf',
|
|
'accesslog',
|
|
'actionscript',
|
|
'ada',
|
|
'apache',
|
|
'applescript',
|
|
'arduino',
|
|
'armasm',
|
|
'asciidoc',
|
|
'aspectj',
|
|
'autohotkey',
|
|
'autoit',
|
|
'avrasm',
|
|
'awk',
|
|
'axapta',
|
|
'bash',
|
|
'basic',
|
|
'bnf',
|
|
'brainfuck',
|
|
'cal',
|
|
'capnproto',
|
|
'ceylon',
|
|
'clean',
|
|
'clojure',
|
|
'clojure-repl',
|
|
'cmake',
|
|
'coffeescript',
|
|
'coq',
|
|
'cos',
|
|
'cpp',
|
|
'crmsh',
|
|
'crystal',
|
|
'csp',
|
|
'css',
|
|
'd',
|
|
'dart',
|
|
'delphi',
|
|
'diff',
|
|
'django',
|
|
'dns',
|
|
'dockerfile',
|
|
'dos',
|
|
'dsconfig',
|
|
'dts',
|
|
'dust',
|
|
'ebnf',
|
|
'elixir',
|
|
'elm',
|
|
'erb',
|
|
'erlang',
|
|
'excel',
|
|
'fix',
|
|
'flix',
|
|
'fortran',
|
|
'fsharp',
|
|
'gams',
|
|
'gauss',
|
|
'gcode',
|
|
'gherkin',
|
|
'glsl',
|
|
'go',
|
|
'golo',
|
|
'gradle',
|
|
'groovy',
|
|
'haml',
|
|
'handlebars',
|
|
'haskell',
|
|
'haxe',
|
|
'hsp',
|
|
'http',
|
|
'hy',
|
|
'inform7',
|
|
'ini',
|
|
'irpf90',
|
|
'java',
|
|
'javascript',
|
|
'jboss-cli',
|
|
'json',
|
|
'julia',
|
|
'julia-repl',
|
|
'kotlin',
|
|
'lasso',
|
|
'ldif',
|
|
'leaf',
|
|
'less',
|
|
'lisp',
|
|
'livecodeserver',
|
|
'livescript',
|
|
'llvm',
|
|
'lsl',
|
|
'lua',
|
|
'makefile',
|
|
'markdown',
|
|
'mathematica',
|
|
'matlab',
|
|
'maxima',
|
|
'mel',
|
|
'mercury',
|
|
'mipsasm',
|
|
'mizar',
|
|
'perl',
|
|
'mojolicious',
|
|
'monkey',
|
|
'moonscript',
|
|
'n1ql',
|
|
'nginx',
|
|
'nix',
|
|
'nsis',
|
|
'objectivec',
|
|
'ocaml',
|
|
'openscad',
|
|
'oxygene',
|
|
'parser3',
|
|
'pf',
|
|
'php',
|
|
'pony',
|
|
'powershell',
|
|
'processing',
|
|
'profile',
|
|
'prolog',
|
|
'protobuf',
|
|
'puppet',
|
|
'purebasic',
|
|
'python',
|
|
'q',
|
|
'qml',
|
|
'r',
|
|
'rib',
|
|
'roboconf',
|
|
'rsl',
|
|
'ruleslanguage',
|
|
'rust',
|
|
'scala',
|
|
'scheme',
|
|
'scilab',
|
|
'scss',
|
|
'shell',
|
|
'smali',
|
|
'smalltalk',
|
|
'sml',
|
|
'sqf',
|
|
'sql',
|
|
'stan',
|
|
'stata',
|
|
'step21',
|
|
'stylus',
|
|
'subunit',
|
|
'swift',
|
|
'taggerscript',
|
|
'yaml',
|
|
'tap',
|
|
'tcl',
|
|
'thrift',
|
|
'tp',
|
|
'twig',
|
|
'typescript',
|
|
'vala',
|
|
'vbnet',
|
|
'vbscript',
|
|
'verilog',
|
|
'vhdl',
|
|
'vim',
|
|
'x86asm',
|
|
'xl',
|
|
'xquery',
|
|
'zephir',
|
|
];
|
|
|
|
const eagerLanguages = ['markdown', 'clean', 'javascript'];
|
|
|
|
describe('hljs', () => {
|
|
describe('eagerly registered languages', () => {
|
|
eagerLanguages.forEach((lang) => {
|
|
it(`should register '${lang}' when the module is loaded`, () => {
|
|
expect(hljs.getLanguage(lang)).to.be.an('object');
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('register', () => {
|
|
afterEach(() => {
|
|
hljs
|
|
.listLanguages()
|
|
.filter((lang) => !eagerLanguages.includes(lang))
|
|
.forEach((lang) => hljs.unregisterLanguage(lang));
|
|
});
|
|
|
|
lazyLanguages.forEach((lang) => {
|
|
it(`should register a syntax definition for '${lang}'`, async () => {
|
|
hljs.unregisterLanguage(lang);
|
|
|
|
await register(lang);
|
|
|
|
expect(hljs.listLanguages()).to.include(lang);
|
|
});
|
|
});
|
|
|
|
['', 'not-a-language'].forEach((lang) => {
|
|
it(`should fall back to plaintext for '${lang}'`, async () => {
|
|
await register(lang);
|
|
|
|
expect(hljs.listLanguages()).to.include('plaintext');
|
|
});
|
|
});
|
|
});
|
|
});
|