@ionic/app-scripts
Version:
Scripts for Ionic Projects
105 lines (104 loc) • 6.94 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var highlight_1 = require("./highlight");
describe('highlight.js', function () {
describe('highlightError', function () {
it('should error highlight unescaped', function () {
var htmlInput = "x & y";
var errorCharStart = 2;
var errorLength = 1;
var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
expect(v).toEqual("x <span class=\"ion-diagnostics-error-chr\">&</span> y");
});
it('should error highlight escaped >', function () {
var sourceText = "x > y";
var htmlInput = highlight_1.highlight('typescript', sourceText, true).value;
var errorCharStart = 2;
var errorLength = 1;
var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
expect(v).toEqual("x <span class=\"ion-diagnostics-error-chr\">></span> y");
});
it('should error highlight before escaped >', function () {
var sourceText = "if (x > y) return;";
var htmlInput = highlight_1.highlight('typescript', sourceText, true).value;
var errorCharStart = 4;
var errorLength = 1;
var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
expect(v).toEqual("<span class=\"hljs-keyword\">if</span> (<span class=\"ion-diagnostics-error-chr\">x</span> > y) <span class=\"hljs-keyword\">return</span>;");
});
it('should error highlight after escaped <', function () {
var sourceText = "if (x < y) return;";
var htmlInput = highlight_1.highlight('typescript', sourceText, true).value;
var errorCharStart = 8;
var errorLength = 1;
var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
expect(v).toEqual("<span class=\"hljs-keyword\">if</span> (x < <span class=\"ion-diagnostics-error-chr\">y</span>) <span class=\"hljs-keyword\">return</span>;");
});
it('should error highlight first 3 chars', function () {
// var name: string = 'Ellie';
var htmlInput = "<span class=\"hljs-keyword\">var</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;";
var errorCharStart = 0;
var errorLength = 3;
var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
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>;");
});
it('should error highlight second char', function () {
// var name: string = 'Ellie';
var htmlInput = "<span class=\"hljs-keyword\">var</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;";
var errorCharStart = 1;
var errorLength = 1;
var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
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>;");
});
it('should error highlight first char', function () {
// var name: string = 'Ellie';
var htmlInput = "<span class=\"hljs-keyword\">var</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;";
var errorCharStart = 0;
var errorLength = 1;
var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
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>;");
});
it('should return the same if there are is no errorLength', function () {
// textInput = `var name: string = 'Ellie';`;
var htmlInput = "<span class=\"hljs-keyword\">var</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;";
var errorCharStart = 10;
var errorLength = 0;
var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
expect(v).toEqual(htmlInput);
});
it('should return the same if there are is no errorCharStart', function () {
// textInput = `var name: string = 'Ellie';`;
var htmlInput = "<span class=\"hljs-keyword\">var</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;";
var errorCharStart = -1;
var errorLength = 10;
var v = highlight_1.highlightError(htmlInput, errorCharStart, errorLength);
expect(v).toEqual(htmlInput);
});
});
describe('typescript', function () {
it('should replace typescript with <', function () {
var sourceText = "if (x < y) return;";
var v = highlight_1.highlight('typescript', sourceText, true).value;
expect(v).toEqual("<span class=\"hljs-keyword\">if</span> (x < y) <span class=\"hljs-keyword\">return</span>;");
});
it('should replace typescript', function () {
var sourceText = "var name: string = 'Ellie';";
var v = highlight_1.highlight('typescript', sourceText, true).value;
expect(v).toEqual("<span class=\"hljs-keyword\">var</span> name: <span class=\"hljs-built_in\">string</span> = <span class=\"hljs-string\">'Ellie'</span>;");
});
});
describe('html', function () {
it('should replace html', function () {
var sourceText = "<div key=\"value\">Text</div>";
var v = highlight_1.highlight('html', sourceText, true).value;
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>");
});
});
describe('scss', function () {
it('should replace scss', function () {
var sourceText = ".className { color: $red; }";
var v = highlight_1.highlight('scss', sourceText, true).value;
expect(v).toEqual("<span class=\"hljs-selector-class\">.className</span> { <span class=\"hljs-attribute\">color</span>: <span class=\"hljs-variable\">$red</span>; }");
});
});
});