@@ -15,112 +15,110 @@ import {SwTestHarness, SwTestHarnessBuilder} from '../testing/scope';
1515
1616import  { async_beforeEach ,  async_fit ,  async_it }  from  './async' ; 
1717
18- const  dist  =  new  MockFileSystemBuilder ( ) 
19-  . addFile ( '/foo.txt' ,  'this is foo' ) 
20-  . addFile ( '/bar.txt' ,  'this is bar' ) 
21-  . addFile ( '/api/test' ,  'version 1' ) 
22-  . addFile ( '/api/a' ,  'version A' ) 
23-  . addFile ( '/api/b' ,  'version B' ) 
24-  . addFile ( '/api/c' ,  'version C' ) 
25-  . addFile ( '/api/d' ,  'version D' ) 
26-  . addFile ( '/api/e' ,  'version E' ) 
27-  . addFile ( '/fresh/data' ,  'this is fresh data' ) 
28-  . addFile ( '/refresh/data' ,  'this is some data' ) 
29-  . build ( ) ; 
18+ ( function ( )  { 
19+  // Skip environments that don't support the minimum APIs needed to run the SW tests. 
20+  if  ( ! SwTestHarness . envIsSupported ( ) )  { 
21+  return ; 
22+  } 
3023
24+  const  dist  =  new  MockFileSystemBuilder ( ) 
25+  . addFile ( '/foo.txt' ,  'this is foo' ) 
26+  . addFile ( '/bar.txt' ,  'this is bar' ) 
27+  . addFile ( '/api/test' ,  'version 1' ) 
28+  . addFile ( '/api/a' ,  'version A' ) 
29+  . addFile ( '/api/b' ,  'version B' ) 
30+  . addFile ( '/api/c' ,  'version C' ) 
31+  . addFile ( '/api/d' ,  'version D' ) 
32+  . addFile ( '/api/e' ,  'version E' ) 
33+  . addFile ( '/fresh/data' ,  'this is fresh data' ) 
34+  . addFile ( '/refresh/data' ,  'this is some data' ) 
35+  . build ( ) ; 
3136
32- const  distUpdate  =  new  MockFileSystemBuilder ( ) 
33-  . addFile ( '/foo.txt' ,  'this is foo v2' ) 
34-  . addFile ( '/bar.txt' ,  'this is bar' ) 
35-  . addFile ( '/api/test' ,  'version 2' ) 
36-  . addFile ( '/fresh/data' ,  'this is fresher data' ) 
37-  . addFile ( '/refresh/data' ,  'this is refreshed data' ) 
38-  . build ( ) ; 
3937
40- const  manifest : Manifest  =  { 
41-  configVersion : 1 , 
42-  timestamp : 1234567890123 , 
43-  index : '/index.html' , 
44-  assetGroups : [ 
45-  { 
46-  name : 'assets' , 
47-  installMode : 'prefetch' , 
48-  updateMode : 'prefetch' , 
49-  urls : [ 
50-  '/foo.txt' , 
51-  '/bar.txt' , 
52-  ] , 
53-  patterns : [ ] , 
54-  } , 
55-  ] , 
56-  dataGroups : [ 
57-  { 
58-  name : 'testPerf' , 
59-  maxSize : 3 , 
60-  strategy : 'performance' , 
61-  patterns : [ '^/api/.*$' ] , 
62-  timeoutMs : 1000 , 
63-  maxAge : 5000 , 
64-  version : 1 , 
65-  } , 
66-  { 
67-  name : 'testRefresh' , 
68-  maxSize : 3 , 
69-  strategy : 'performance' , 
70-  patterns : [ '^/refresh/.*$' ] , 
71-  timeoutMs : 1000 , 
72-  refreshAheadMs : 1000 , 
73-  maxAge : 5000 , 
74-  version : 1 , 
75-  } , 
76-  { 
77-  name : 'testFresh' , 
78-  maxSize : 3 , 
79-  strategy : 'freshness' , 
80-  patterns : [ '^/fresh/.*$' ] , 
81-  timeoutMs : 1000 , 
82-  maxAge : 5000 , 
83-  version : 1 , 
84-  } , 
85-  ] , 
86-  navigationUrls : [ ] , 
87-  hashTable : tmpHashTableForFs ( dist ) , 
88- } ; 
38+  const  distUpdate  =  new  MockFileSystemBuilder ( ) 
39+  . addFile ( '/foo.txt' ,  'this is foo v2' ) 
40+  . addFile ( '/bar.txt' ,  'this is bar' ) 
41+  . addFile ( '/api/test' ,  'version 2' ) 
42+  . addFile ( '/fresh/data' ,  'this is fresher data' ) 
43+  . addFile ( '/refresh/data' ,  'this is refreshed data' ) 
44+  . build ( ) ; 
8945
90- const  seqIncreasedManifest : Manifest  =  { 
91-  ...manifest , 
92-  dataGroups : [ 
93-  { 
94-  ...manifest . dataGroups  ! [ 0 ] , 
95-  version : 2 , 
96-  } , 
97-  manifest . dataGroups  ! [ 1 ] , 
98-  manifest . dataGroups  ! [ 2 ] , 
99-  ] , 
100- } ; 
46+  const  manifest : Manifest  =  { 
47+  configVersion : 1 , 
48+  timestamp : 1234567890123 , 
49+  index : '/index.html' , 
50+  assetGroups : [ 
51+  { 
52+  name : 'assets' , 
53+  installMode : 'prefetch' , 
54+  updateMode : 'prefetch' , 
55+  urls : [ 
56+  '/foo.txt' , 
57+  '/bar.txt' , 
58+  ] , 
59+  patterns : [ ] , 
60+  } , 
61+  ] , 
62+  dataGroups : [ 
63+  { 
64+  name : 'testPerf' , 
65+  maxSize : 3 , 
66+  strategy : 'performance' , 
67+  patterns : [ '^/api/.*$' ] , 
68+  timeoutMs : 1000 , 
69+  maxAge : 5000 , 
70+  version : 1 , 
71+  } , 
72+  { 
73+  name : 'testRefresh' , 
74+  maxSize : 3 , 
75+  strategy : 'performance' , 
76+  patterns : [ '^/refresh/.*$' ] , 
77+  timeoutMs : 1000 , 
78+  refreshAheadMs : 1000 , 
79+  maxAge : 5000 , 
80+  version : 1 , 
81+  } , 
82+  { 
83+  name : 'testFresh' , 
84+  maxSize : 3 , 
85+  strategy : 'freshness' , 
86+  patterns : [ '^/fresh/.*$' ] , 
87+  timeoutMs : 1000 , 
88+  maxAge : 5000 , 
89+  version : 1 , 
90+  } , 
91+  ] , 
92+  navigationUrls : [ ] , 
93+  hashTable : tmpHashTableForFs ( dist ) , 
94+  } ; 
10195
96+  const  seqIncreasedManifest : Manifest  =  { 
97+  ...manifest , 
98+  dataGroups : [ 
99+  { 
100+  ...manifest . dataGroups  ! [ 0 ] , 
101+  version : 2 , 
102+  } , 
103+  manifest . dataGroups  ! [ 1 ] , 
104+  manifest . dataGroups  ! [ 2 ] , 
105+  ] , 
106+  } ; 
102107
103- const  server  =  new  MockServerStateBuilder ( ) . withStaticFiles ( dist ) . withManifest ( manifest ) . build ( ) ; 
104108
105- const  serverUpdate  = 
106-  new  MockServerStateBuilder ( ) . withStaticFiles ( distUpdate ) . withManifest ( manifest ) . build ( ) ; 
109+  const  server  =  new  MockServerStateBuilder ( ) . withStaticFiles ( dist ) . withManifest ( manifest ) . build ( ) ; 
107110
108- const  serverSeqUpdate  =  new  MockServerStateBuilder ( ) 
109-  . withStaticFiles ( distUpdate ) 
110-  . withManifest ( seqIncreasedManifest ) 
111-  . build ( ) ; 
111+  const  serverUpdate  = 
112+  new  MockServerStateBuilder ( ) . withStaticFiles ( distUpdate ) . withManifest ( manifest ) . build ( ) ; 
112113
113- const  scope  =  new  SwTestHarnessBuilder ( ) . withServerState ( server ) . build ( ) ; 
114+  const  serverSeqUpdate  =  new  MockServerStateBuilder ( ) 
115+  . withStaticFiles ( distUpdate ) 
116+  . withManifest ( seqIncreasedManifest ) 
117+  . build ( ) ; 
118+ 
119+  const  scope  =  new  SwTestHarnessBuilder ( ) . withServerState ( server ) . build ( ) ; 
114120
115- function  asyncWrap ( fn : ( )  =>  Promise < void > ) : ( done : DoneFn )  =>  void { 
116-  return  ( done : DoneFn )  =>  {  fn ( ) . then ( ( )  =>  done ( ) ,  err  =>  done . fail ( err ) ) ;  } ; 
117- } 
118121
119- ( function ( )  { 
120-  // Skip environments that don't support the minimum APIs needed to run the SW tests. 
121-  if  ( ! SwTestHarness . envIsSupported ( ) )  { 
122-  return ; 
123-  } 
124122 describe ( 'data cache' ,  ( )  =>  { 
125123 let  scope : SwTestHarness ; 
126124 let  driver : Driver ; 
0 commit comments