1212describe ( 'when Trusted Types are available in global object' , ( ) => {
1313 let React ;
1414 let ReactDOMClient ;
15- let ReactFeatureFlags ;
1615 let act ;
1716 let assertConsoleErrorDev ;
1817 let container ;
@@ -33,8 +32,6 @@ describe('when Trusted Types are available in global object', () => {
3332 isScript : ( ) => false ,
3433 isScriptURL : ( ) => false ,
3534 } ;
36- ReactFeatureFlags = require ( 'shared/ReactFeatureFlags' ) ;
37- ReactFeatureFlags . enableTrustedTypesIntegration = true ;
3835 React = require ( 'react' ) ;
3936 ReactDOMClient = require ( 'react-dom/client' ) ;
4037 ( { act, assertConsoleErrorDev} = require ( 'internal-test-utils' ) ) ;
@@ -118,7 +115,11 @@ describe('when Trusted Types are available in global object', () => {
118115 expect ( setAttributeCalls [ 0 ] [ 0 ] ) . toBe ( container . firstChild ) ;
119116 expect ( setAttributeCalls [ 0 ] [ 1 ] ) . toBe ( 'data-foo' ) ;
120117 // Ensure it didn't get stringified when passed to a DOM sink:
121- expect ( setAttributeCalls [ 0 ] [ 2 ] ) . toBe ( ttObject1 ) ;
118+ if ( gate ( 'enableTrustedTypesIntegration' ) ) {
119+ expect ( setAttributeCalls [ 0 ] [ 2 ] ) . toBe ( ttObject1 ) ;
120+ } else {
121+ expect ( setAttributeCalls [ 0 ] [ 2 ] ) . toBe ( '<b>Hi</b>' ) ;
122+ }
122123
123124 setAttributeCalls . length = 0 ;
124125 await act ( ( ) => {
@@ -129,7 +130,11 @@ describe('when Trusted Types are available in global object', () => {
129130 expect ( setAttributeCalls [ 0 ] [ 0 ] ) . toBe ( container . firstChild ) ;
130131 expect ( setAttributeCalls [ 0 ] [ 1 ] ) . toBe ( 'data-foo' ) ;
131132 // Ensure it didn't get stringified when passed to a DOM sink:
132- expect ( setAttributeCalls [ 0 ] [ 2 ] ) . toBe ( ttObject2 ) ;
133+ if ( gate ( 'enableTrustedTypesIntegration' ) ) {
134+ expect ( setAttributeCalls [ 0 ] [ 2 ] ) . toBe ( ttObject2 ) ;
135+ } else {
136+ expect ( setAttributeCalls [ 0 ] [ 2 ] ) . toBe ( '<b>Bye</b>' ) ;
137+ }
133138 } finally {
134139 Element . prototype . setAttribute = setAttribute ;
135140 }
@@ -153,7 +158,11 @@ describe('when Trusted Types are available in global object', () => {
153158 expect ( setAttributeCalls [ 0 ] [ 0 ] ) . toBe ( container . firstChild ) ;
154159 expect ( setAttributeCalls [ 0 ] [ 1 ] ) . toBe ( 'class' ) ;
155160 // Ensure it didn't get stringified when passed to a DOM sink:
156- expect ( setAttributeCalls [ 0 ] [ 2 ] ) . toBe ( ttObject1 ) ;
161+ if ( gate ( 'enableTrustedTypesIntegration' ) ) {
162+ expect ( setAttributeCalls [ 0 ] [ 2 ] ) . toBe ( ttObject1 ) ;
163+ } else {
164+ expect ( setAttributeCalls [ 0 ] [ 2 ] ) . toBe ( '<b>Hi</b>' ) ;
165+ }
157166
158167 setAttributeCalls . length = 0 ;
159168 await act ( ( ) => {
@@ -164,7 +173,11 @@ describe('when Trusted Types are available in global object', () => {
164173 expect ( setAttributeCalls [ 0 ] [ 0 ] ) . toBe ( container . firstChild ) ;
165174 expect ( setAttributeCalls [ 0 ] [ 1 ] ) . toBe ( 'class' ) ;
166175 // Ensure it didn't get stringified when passed to a DOM sink:
167- expect ( setAttributeCalls [ 0 ] [ 2 ] ) . toBe ( ttObject2 ) ;
176+ if ( gate ( 'enableTrustedTypesIntegration' ) ) {
177+ expect ( setAttributeCalls [ 0 ] [ 2 ] ) . toBe ( ttObject2 ) ;
178+ } else {
179+ expect ( setAttributeCalls [ 0 ] [ 2 ] ) . toBe ( '<b>Bye</b>' ) ;
180+ }
168181 } finally {
169182 Element . prototype . setAttribute = setAttribute ;
170183 }
@@ -189,7 +202,11 @@ describe('when Trusted Types are available in global object', () => {
189202 expect ( setAttributeNSCalls [ 0 ] [ 1 ] ) . toBe ( 'http://www.w3.org/1999/xlink' ) ;
190203 expect ( setAttributeNSCalls [ 0 ] [ 2 ] ) . toBe ( 'xlink:href' ) ;
191204 // Ensure it didn't get stringified when passed to a DOM sink:
192- expect ( setAttributeNSCalls [ 0 ] [ 3 ] ) . toBe ( ttObject1 ) ;
205+ if ( gate ( 'enableTrustedTypesIntegration' ) ) {
206+ expect ( setAttributeNSCalls [ 0 ] [ 3 ] ) . toBe ( ttObject1 ) ;
207+ } else {
208+ expect ( setAttributeNSCalls [ 0 ] [ 3 ] ) . toBe ( '<b>Hi</b>' ) ;
209+ }
193210
194211 setAttributeNSCalls . length = 0 ;
195212 await act ( ( ) => {
@@ -201,7 +218,11 @@ describe('when Trusted Types are available in global object', () => {
201218 expect ( setAttributeNSCalls [ 0 ] [ 1 ] ) . toBe ( 'http://www.w3.org/1999/xlink' ) ;
202219 expect ( setAttributeNSCalls [ 0 ] [ 2 ] ) . toBe ( 'xlink:href' ) ;
203220 // Ensure it didn't get stringified when passed to a DOM sink:
204- expect ( setAttributeNSCalls [ 0 ] [ 3 ] ) . toBe ( ttObject2 ) ;
221+ if ( gate ( 'enableTrustedTypesIntegration' ) ) {
222+ expect ( setAttributeNSCalls [ 0 ] [ 3 ] ) . toBe ( ttObject2 ) ;
223+ } else {
224+ expect ( setAttributeNSCalls [ 0 ] [ 3 ] ) . toBe ( '<b>Bye</b>' ) ;
225+ }
205226 } finally {
206227 Element . prototype . setAttributeNS = setAttributeNS ;
207228 }
@@ -212,13 +233,15 @@ describe('when Trusted Types are available in global object', () => {
212233 await act ( ( ) => {
213234 root . render ( < script > alert("I am not executed")</ script > ) ;
214235 } ) ;
215- assertConsoleErrorDev ( [
216- 'Encountered a script tag while rendering React component. ' +
217- 'Scripts inside React components are never executed when rendering ' +
218- 'on the client. Consider using template tag instead ' +
219- '(https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template).\n' +
220- ' in script (at **)' ,
221- ] ) ;
236+ if ( gate ( 'enableTrustedTypesIntegration' ) ) {
237+ assertConsoleErrorDev ( [
238+ 'Encountered a script tag while rendering React component. ' +
239+ 'Scripts inside React components are never executed when rendering ' +
240+ 'on the client. Consider using template tag instead ' +
241+ '(https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template).\n' +
242+ ' in script (at **)' ,
243+ ] ) ;
244+ }
222245
223246 // check that the warning is printed only once
224247 await act ( ( ) => {
0 commit comments