UNPKG

6.94 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var highlight_1 = require("./highlight");
4describe('highlight.js', function () {
5 describe('highlightError', function () {
6 it('should error highlight unescaped', function () {
7 var htmlInput = "x & y";
8 var errorCharStart = 2;
9 var errorLength = 1;
10 var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
11 expect(v).toEqual("x <span class=\"ion-diagnostics-error-chr\">&</span> y");
12 });
13 it('should error highlight escaped >', function () {
14 var sourceText = "x > y";
15 var htmlInput = highlight_1.highlight('typescript', sourceText, true).value;
16 var errorCharStart = 2;
17 var errorLength = 1;
18 var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
19 expect(v).toEqual("x <span class=\"ion-diagnostics-error-chr\">&gt;</span> y");
20 });
21 it('should error highlight before escaped >', function () {
22 var sourceText = "if (x > y) return;";
23 var htmlInput = highlight_1.highlight('typescript', sourceText, true).value;
24 var errorCharStart = 4;
25 var errorLength = 1;
26 var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
27 expect(v).toEqual("<span class=\"hljs-keyword\">if</span> (<span class=\"ion-diagnostics-error-chr\">x</span> &gt; y) <span class=\"hljs-keyword\">return</span>;");
28 });
29 it('should error highlight after escaped <', function () {
30 var sourceText = "if (x < y) return;";
31 var htmlInput = highlight_1.highlight('typescript', sourceText, true).value;
32 var errorCharStart = 8;
33 var errorLength = 1;
34 var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
35 expect(v).toEqual("<span class=\"hljs-keyword\">if</span> (x &lt; <span class=\"ion-diagnostics-error-chr\">y</span>) <span class=\"hljs-keyword\">return</span>;");
36 });
37 it('should error highlight first 3 chars', function () {
38 // var name: string = 'Ellie';
39 var htmlInput = "<span class=\"hljs-keyword\">var</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;";
40 var errorCharStart = 0;
41 var errorLength = 3;
42 var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
43 expect(v).toEqual("<span class=\"hljs-keyword\"><span class=\"ion-diagnostics-error-chr\">v</span><span class=\"ion-diagnostics-error-chr\">a</span><span class=\"ion-diagnostics-error-chr\">r</span></span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;");
44 });
45 it('should error highlight second char', function () {
46 // var name: string = 'Ellie';
47 var htmlInput = "<span class=\"hljs-keyword\">var</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;";
48 var errorCharStart = 1;
49 var errorLength = 1;
50 var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
51 expect(v).toEqual("<span class=\"hljs-keyword\">v<span class=\"ion-diagnostics-error-chr\">a</span>r</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;");
52 });
53 it('should error highlight first char', function () {
54 // var name: string = 'Ellie';
55 var htmlInput = "<span class=\"hljs-keyword\">var</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;";
56 var errorCharStart = 0;
57 var errorLength = 1;
58 var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
59 expect(v).toEqual("<span class=\"hljs-keyword\"><span class=\"ion-diagnostics-error-chr\">v</span>ar</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;");
60 });
61 it('should return the same if there are is no errorLength', function () {
62 // textInput = `var name: string = 'Ellie';`;
63 var htmlInput = "<span class=\"hljs-keyword\">var</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;";
64 var errorCharStart = 10;
65 var errorLength = 0;
66 var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
67 expect(v).toEqual(htmlInput);
68 });
69 it('should return the same if there are is no errorCharStart', function () {
70 // textInput = `var name: string = 'Ellie';`;
71 var htmlInput = "<span class=\"hljs-keyword\">var</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;";
72 var errorCharStart = -1;
73 var errorLength = 10;
74 var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
75 expect(v).toEqual(htmlInput);
76 });
77 });
78 describe('typescript', function () {
79 it('should replace typescript with <', function () {
80 var sourceText = "if (x < y) return;";
81 var v = highlight_1.highlight('typescript', sourceText, true).value;
82 expect(v).toEqual("<span class=\"hljs-keyword\">if</span> (x &lt; y) <span class=\"hljs-keyword\">return</span>;");
83 });
84 it('should replace typescript', function () {
85 var sourceText = "var name: string = 'Ellie';";
86 var v = highlight_1.highlight('typescript', sourceText, true).value;
87 expect(v).toEqual("<span class=\"hljs-keyword\">var</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;");
88 });
89 });
90 describe('html', function () {
91 it('should replace html', function () {
92 var sourceText = "<div key=\"value\">Text</div>";
93 var v = highlight_1.highlight('html', sourceText, true).value;
94 expect(v).toEqual("<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">key</span>=<span class=\"hljs-string\">\"value\"</span>&gt;</span>Text<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>");
95 });
96 });
97 describe('scss', function () {
98 it('should replace scss', function () {
99 var sourceText = ".className { color: $red; }";
100 var v = highlight_1.highlight('scss', sourceText, true).value;
101 expect(v).toEqual("<span class=\"hljs-selector-class\">.className</span> { <span class=\"hljs-attribute\">color</span>: <span class=\"hljs-variable\">$red</span>; }");
102 });
103 });
104});