@@ -711,6 +711,74 @@ import {async_beforeEach, async_fit, async_it} from './async';
711
711
serverUpdate . assertNoOtherRequests ( ) ;
712
712
} ) ;
713
713
714
+ async_it ( 'should bypass serviceworker on ngsw-bypass parameter' , async ( ) => {
715
+ await makeRequest ( scope , '/foo.txt' , undefined , { headers : { 'ngsw-bypass' : 'true' } } ) ;
716
+ server . assertNoRequestFor ( '/foo.txt' ) ;
717
+
718
+ await makeRequest ( scope , '/foo.txt' , undefined , { headers : { 'ngsw-bypass' : 'anything' } } ) ;
719
+ server . assertNoRequestFor ( '/foo.txt' ) ;
720
+
721
+ await makeRequest ( scope , '/foo.txt' , undefined , { headers : { 'ngsw-bypass' : null } } ) ;
722
+ server . assertNoRequestFor ( '/foo.txt' ) ;
723
+
724
+ await makeRequest ( scope , '/foo.txt' , undefined , { headers : { 'NGSW-bypass' : 'upperCASE' } } ) ;
725
+ server . assertNoRequestFor ( '/foo.txt' ) ;
726
+
727
+ await makeRequest ( scope , '/foo.txt' , undefined , { headers : { 'ngsw-bypasss' : 'anything' } } ) ;
728
+ server . assertSawRequestFor ( '/foo.txt' ) ;
729
+
730
+ server . clearRequests ( ) ;
731
+
732
+ await makeRequest ( scope , '/bar.txt?ngsw-bypass=true' ) ;
733
+ server . assertNoRequestFor ( '/bar.txt' ) ;
734
+
735
+ await makeRequest ( scope , '/bar.txt?ngsw-bypasss=true' ) ;
736
+ server . assertSawRequestFor ( '/bar.txt' ) ;
737
+
738
+ server . clearRequests ( ) ;
739
+
740
+ await makeRequest ( scope , '/bar.txt?ngsw-bypaSS=something' ) ;
741
+ server . assertNoRequestFor ( '/bar.txt' ) ;
742
+
743
+ await makeRequest ( scope , '/bar.txt?testparam=test&ngsw-byPASS=anything' ) ;
744
+ server . assertNoRequestFor ( '/bar.txt' ) ;
745
+
746
+ await makeRequest ( scope , '/bar.txt?testparam=test&angsw-byPASS=anything' ) ;
747
+ server . assertSawRequestFor ( '/bar.txt' ) ;
748
+
749
+ server . clearRequests ( ) ;
750
+
751
+ await makeRequest ( scope , '/bar&ngsw-bypass=true.txt?testparam=test&angsw-byPASS=anything' ) ;
752
+ server . assertSawRequestFor ( '/bar&ngsw-bypass=true.txt' ) ;
753
+
754
+ server . clearRequests ( ) ;
755
+
756
+ await makeRequest ( scope , '/bar&ngsw-bypass=true.txt' ) ;
757
+ server . assertSawRequestFor ( '/bar&ngsw-bypass=true.txt' ) ;
758
+
759
+ server . clearRequests ( ) ;
760
+
761
+ await makeRequest (
762
+ scope , '/bar&ngsw-bypass=true.txt?testparam=test&ngSW-BYPASS=SOMETHING&testparam2=test' ) ;
763
+ server . assertNoRequestFor ( '/bar&ngsw-bypass=true.txt' ) ;
764
+
765
+ await makeRequest ( scope , '/bar?testparam=test&ngsw-bypass' ) ;
766
+ server . assertNoRequestFor ( '/bar' ) ;
767
+
768
+ await makeRequest ( scope , '/bar?testparam=test&ngsw-bypass&testparam2' ) ;
769
+ server . assertNoRequestFor ( '/bar' ) ;
770
+
771
+ await makeRequest ( scope , '/bar?ngsw-bypass&testparam2' ) ;
772
+ server . assertNoRequestFor ( '/bar' ) ;
773
+
774
+ await makeRequest ( scope , '/bar?ngsw-bypass=&foo=ngsw-bypass' ) ;
775
+ server . assertNoRequestFor ( '/bar' ) ;
776
+
777
+ await makeRequest ( scope , '/bar?ngsw-byapass&testparam2' ) ;
778
+ server . assertSawRequestFor ( '/bar' ) ;
779
+
780
+ } ) ;
781
+
714
782
async_it ( 'unregisters when manifest 404s' , async ( ) => {
715
783
expect ( await makeRequest ( scope , '/foo.txt' ) ) . toEqual ( 'this is foo' ) ;
716
784
await driver . initialized ;
0 commit comments