1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var highlight_1 = require("./highlight");
|
4 | describe('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\">></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> > 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 < <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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 < 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\"><<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">key</span>=<span class=\"hljs-string\">\"value\"</span>></span>Text<span class=\"hljs-tag\"></<span class=\"hljs-name\">div</span>></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 | });
|