@@ -5,6 +5,7 @@ var styleProcessor = hammerhead.processors.styleProcessor;
5
5
var scriptProcessor = hammerhead . utils . processing . script ;
6
6
var urlUtils = hammerhead . utils . url ;
7
7
var DomProcessor = hammerhead . processors . DomProcessor ;
8
+ var browserUtils = hammerhead . utils . browser ;
8
9
9
10
var nativeMethods = hammerhead . nativeMethods ;
10
11
@@ -49,71 +50,73 @@ test('stylesheet after innerHTML', function () {
49
50
check ( nativeMethods . elementInnerHTMLGetter . call ( style ) ) ;
50
51
} ) ;
51
52
52
- test ( 'script.<innerHTML/innerText/text/textContent>' , function ( ) {
53
- var script = document . createElement ( 'script' ) ;
54
- var scriptText = 'var test = window.href' ;
55
- var processedScriptText = scriptProcessor . processScript ( scriptText , true ) . replace ( / \s / g, '' ) ;
56
- var scriptWithImport = 'import foo from "foo.js"; import("bar.js").then(() => {});' ;
57
- var processedScriptWithImport = scriptProcessor . processScript ( scriptWithImport , true , false , urlUtils . convertToProxyUrl ) . replace ( / \s / g, '' ) ;
58
- var testProperties = {
59
- 'innerHTML' : {
60
- getter : nativeMethods . elementInnerHTMLGetter ,
61
- setter : nativeMethods . elementInnerHTMLSetter ,
62
- } ,
63
-
64
- 'innerText' : {
65
- getter : nativeMethods . htmlElementInnerTextGetter ,
66
- setter : nativeMethods . htmlElementInnerTextSetter ,
67
- } ,
68
-
69
- 'text' : {
70
- getter : nativeMethods . scriptTextGetter ,
71
- setter : nativeMethods . scriptTextSetter ,
72
- } ,
73
-
74
- 'textContent' : {
75
- getter : nativeMethods . nodeTextContentGetter ,
76
- setter : nativeMethods . nodeTextContentSetter ,
77
- } ,
78
- } ;
53
+ if ( ! browserUtils . isFirefox ) {
54
+ test ( 'script.<innerHTML/innerText/text/textContent>' , function ( ) {
55
+ var script = document . createElement ( 'script' ) ;
56
+ var scriptText = 'var test = window.href' ;
57
+ var processedScriptText = scriptProcessor . processScript ( scriptText , true ) . replace ( / \s / g, '' ) ;
58
+ var scriptWithImport = 'import foo from "foo.js"; import("bar.js").then(() => {});' ;
59
+ var processedScriptWithImport = scriptProcessor . processScript ( scriptWithImport , true , false , urlUtils . convertToProxyUrl ) . replace ( / \s / g, '' ) ;
60
+ var testProperties = {
61
+ 'innerHTML' : {
62
+ getter : nativeMethods . elementInnerHTMLGetter ,
63
+ setter : nativeMethods . elementInnerHTMLSetter ,
64
+ } ,
79
65
80
- Object . keys ( testProperties ) . forEach ( function ( property ) {
81
- var nativeGetter = testProperties [ property ] . getter ;
82
- var nativeSetter = testProperties [ property ] . setter ;
66
+ 'innerText' : {
67
+ getter : nativeMethods . htmlElementInnerTextGetter ,
68
+ setter : nativeMethods . htmlElementInnerTextSetter ,
69
+ } ,
70
+
71
+ 'text' : {
72
+ getter : nativeMethods . scriptTextGetter ,
73
+ setter : nativeMethods . scriptTextSetter ,
74
+ } ,
75
+
76
+ 'textContent' : {
77
+ getter : nativeMethods . nodeTextContentGetter ,
78
+ setter : nativeMethods . nodeTextContentSetter ,
79
+ } ,
80
+ } ;
83
81
84
- script [ property ] = scriptText ;
82
+ Object . keys ( testProperties ) . forEach ( function ( property ) {
83
+ var nativeGetter = testProperties [ property ] . getter ;
84
+ var nativeSetter = testProperties [ property ] . setter ;
85
85
86
- strictEqual ( nativeGetter . call ( script ) . replace ( / \s / g , '' ) , processedScriptText ) ;
86
+ script [ property ] = scriptText ;
87
87
88
- script [ property ] = '' ;
88
+ strictEqual ( nativeGetter . call ( script ) . replace ( / \s / g , '' ) , processedScriptText ) ;
89
89
90
- strictEqual ( nativeGetter . call ( script ) . replace ( / \s / g , '' ) , '' ) ;
90
+ script [ property ] = '' ;
91
91
92
- script [ property ] = { a : 1 } ;
92
+ strictEqual ( nativeGetter . call ( script ) . replace ( / \s / g , '' ) , '' ) ;
93
93
94
- strictEqual ( nativeGetter . call ( script ) , '[object Object]' ) ;
94
+ script [ property ] = { a : 1 } ;
95
95
96
- nativeSetter . call ( script , null ) ;
96
+ strictEqual ( nativeGetter . call ( script ) , '[object Object]' ) ;
97
97
98
- var expectedValueForNull = nativeGetter . call ( script ) ;
98
+ nativeSetter . call ( script , null ) ;
99
99
100
- script [ property ] = null ;
100
+ var expectedValueForNull = nativeGetter . call ( script ) ;
101
101
102
- strictEqual ( nativeGetter . call ( script ) , expectedValueForNull ) ;
102
+ script [ property ] = null ;
103
103
104
- nativeSetter . call ( script , void 0 ) ;
104
+ strictEqual ( nativeGetter . call ( script ) , expectedValueForNull ) ;
105
105
106
- var expectedValueForUndefined = nativeGetter . call ( script ) ;
106
+ nativeSetter . call ( script , void 0 ) ;
107
107
108
- script [ property ] = void 0 ;
108
+ var expectedValueForUndefined = nativeGetter . call ( script ) ;
109
109
110
- strictEqual ( nativeGetter . call ( script ) , expectedValueForUndefined ) ;
110
+ script [ property ] = void 0 ;
111
111
112
- script [ property ] = scriptWithImport ;
112
+ strictEqual ( nativeGetter . call ( script ) , expectedValueForUndefined ) ;
113
113
114
- strictEqual ( nativeGetter . call ( script ) . replace ( / \s / g, '' ) , processedScriptWithImport ) ;
114
+ script [ property ] = scriptWithImport ;
115
+
116
+ strictEqual ( nativeGetter . call ( script ) . replace ( / \s / g, '' ) , processedScriptWithImport ) ;
117
+ } ) ;
115
118
} ) ;
116
- } ) ;
119
+ }
117
120
118
121
test ( 'style.<innerHTML/innerText/textContent>' , function ( ) {
119
122
var style = document . createElement ( 'style' ) ;
0 commit comments