From b09e03b28d3fab41680477a35ebe39dffdcc7276 Mon Sep 17 00:00:00 2001 From: Olivier Combe Date: Wed, 21 Nov 2018 16:50:35 +0100 Subject: [PATCH] test(platform-server): don't set `document` to undefined for ivy tests (#27268) PR Close #27268 --- .../platform-server/test/integration_spec.ts | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/packages/platform-server/test/integration_spec.ts b/packages/platform-server/test/integration_spec.ts index 29ba5706e9..a4fa2291fb 100644 --- a/packages/platform-server/test/integration_spec.ts +++ b/packages/platform-server/test/integration_spec.ts @@ -20,6 +20,7 @@ import {BEFORE_APP_SERIALIZED, INITIAL_CONFIG, PlatformState, ServerModule, Serv import {fixmeIvy} from '@angular/private/testing'; import {Observable} from 'rxjs'; import {first} from 'rxjs/operators'; +import {ivyEnabled} from '../../core/src/ivy_switch'; @Component({selector: 'app', template: `Works!`}) class MyServerApp { @@ -534,8 +535,12 @@ class HiddenModule { // PlatformConfig takes in a parsed document so that it can be cached across requests. doc = ''; called = false; - (global as any)['window'] = undefined; - (global as any)['document'] = undefined; + // We use `window` and `document` directly in some parts of render3 for ivy + // Only set it to undefined for legacy + if (!ivyEnabled) { + (global as any)['window'] = undefined; + (global as any)['document'] = undefined; + } }); afterEach(() => { expect(called).toBe(true); }); @@ -632,19 +637,18 @@ class HiddenModule { }); })); - fixmeIvy('to investigate') && - it('should work with sanitizer to handle "innerHTML"', async(() => { - // Clear out any global states. These should be set when platform-server - // is initialized. - (global as any).Node = undefined; - (global as any).Document = undefined; - renderModule(HTMLTypesModule, {document: doc}).then(output => { - expect(output).toBe( - '' + - '
foo bar
'); - called = true; - }); - })); + it('should work with sanitizer to handle "innerHTML"', async(() => { + // Clear out any global states. These should be set when platform-server + // is initialized. + (global as any).Node = undefined; + (global as any).Document = undefined; + renderModule(HTMLTypesModule, {document: doc}).then(output => { + expect(output).toBe( + '' + + '
foo bar
'); + called = true; + }); + })); it('should handle element property "hidden"', async(() => { renderModule(HiddenModule, {document: doc}).then(output => {