1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var inject_scripts_1 = require("./inject-scripts");
|
4 | describe('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 | });
|