UNPKG

4.99 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var inject_scripts_1 = require("./inject-scripts");
4describe('Inject Scripts', function () {
5 describe('injectCoreHtml', function () {
6 it('should replace an existed injected script tag', function () {
7 var inputHtml = '' +
8 '<html>\n' +
9 '<head>\n' +
10 ' <script data-ionic="inject">\n' +
11 ' alert(11111);\n' +
12 ' </script>\n' +
13 '</head>\n' +
14 '<body>\n' +
15 '</body>\n' +
16 '</html>';
17 var output = inject_scripts_1.injectCoreHtml(inputHtml, ' <script data-ionic="inject">\n' +
18 ' alert(55555);\n' +
19 ' </script>');
20 expect(output).toEqual('<html>\n' +
21 '<head>\n' +
22 ' <script data-ionic="inject">\n' +
23 ' alert(55555);\n' +
24 ' </script>\n' +
25 '</head>\n' +
26 '<body>\n' +
27 '</body>\n' +
28 '</html>');
29 });
30 it('should replace only one existed injected script tag', function () {
31 var inputHtml = '' +
32 '<html>\n' +
33 '<head>\n' +
34 ' <script data-ionic="inject">\n' +
35 ' alert(11111);\n' +
36 ' </script>\n' +
37 ' <script>\n' +
38 ' alert(222);\n' +
39 ' </script>\n' +
40 '</head>\n' +
41 '<body>\n' +
42 '</body>\n' +
43 '</html>';
44 var output = inject_scripts_1.injectCoreHtml(inputHtml, ' <script data-ionic="inject">\n' +
45 ' alert(55555);\n' +
46 ' </script>');
47 expect(output).toEqual('<html>\n' +
48 '<head>\n' +
49 ' <script data-ionic="inject">\n' +
50 ' alert(55555);\n' +
51 ' </script>\n' +
52 ' <script>\n' +
53 ' alert(222);\n' +
54 ' </script>\n' +
55 '</head>\n' +
56 '<body>\n' +
57 '</body>\n' +
58 '</html>');
59 });
60 it('should add script to top of file when no html tag', function () {
61 var inputHtml = '' +
62 '<body>\n' +
63 '</body>';
64 var output = inject_scripts_1.injectCoreHtml(inputHtml, '<injected></injected>');
65 expect(output).toEqual('<injected></injected>\n' +
66 '<body>\n' +
67 '</body>');
68 });
69 it('should add script below <html> with attributes', function () {
70 var inputHtml = '' +
71 '<html dir="rtl">\n' +
72 '<body>\n' +
73 '</body>\n' +
74 '</html>';
75 var output = inject_scripts_1.injectCoreHtml(inputHtml, '<injected></injected>');
76 expect(output).toEqual('<html dir="rtl">\n' +
77 '<injected></injected>\n' +
78 '<body>\n' +
79 '</body>\n' +
80 '</html>');
81 });
82 it('should add script below <html> when no head tag', function () {
83 var inputHtml = '' +
84 '<html>\n' +
85 '<body>\n' +
86 '</body>\n' +
87 '</html>';
88 var output = inject_scripts_1.injectCoreHtml(inputHtml, '<injected></injected>');
89 expect(output).toEqual('<html>\n' +
90 '<injected></injected>\n' +
91 '<body>\n' +
92 '</body>\n' +
93 '</html>');
94 });
95 it('should add script below <head>', function () {
96 var inputHtml = '' +
97 '<html>\n' +
98 '<head>\n' +
99 '</head>\n' +
100 '<body>\n' +
101 '</body>\n' +
102 '</html>';
103 var output = inject_scripts_1.injectCoreHtml(inputHtml, '<injected></injected>');
104 expect(output).toEqual('<html>\n' +
105 '<head>\n' +
106 '<injected></injected>\n' +
107 '</head>\n' +
108 '<body>\n' +
109 '</body>\n' +
110 '</html>');
111 });
112 it('should add script below <head> with attributes and all caps tag', function () {
113 var inputHtml = '' +
114 '<html>\n' +
115 '<HEAD data-attr="yup">\n' +
116 '</HEAD>\n' +
117 '<body>\n' +
118 '</body>\n' +
119 '</html>';
120 var output = inject_scripts_1.injectCoreHtml(inputHtml, '<injected></injected>');
121 expect(output).toEqual('<html>\n' +
122 '<HEAD data-attr="yup">\n' +
123 '<injected></injected>\n' +
124 '</HEAD>\n' +
125 '<body>\n' +
126 '</body>\n' +
127 '</html>');
128 });
129 });
130});