@@ -19,14 +19,23 @@ describe('Script Block First Paint audit', () => {
1919 src : 'http://google.com/js/app.js' ,
2020 url : 'http://google.com/js/app.js' ,
2121 } ;
22- const auditResult = ScriptBlockingFirstPaintAudit . audit ( {
22+ const timestamps = { firstContentfulPaint : 5600 * 1000 } ;
23+ return ScriptBlockingFirstPaintAudit . audit ( {
24+ traces : { } ,
25+ requestTraceOfTab : ( ) => Promise . resolve ( { timestamps} ) ,
2326 TagsBlockingFirstPaint : [
2427 {
2528 tag : scriptDetails ,
2629 transferSize : 100 ,
2730 startTime : 1 ,
2831 endTime : 1.1
2932 } ,
33+ {
34+ tag : scriptDetails ,
35+ transferSize : 100 ,
36+ startTime : 15 , // well after FCP and should be ignored
37+ endTime : 15.1
38+ } ,
3039 {
3140 tag : scriptDetails ,
3241 transferSize : 50 ,
@@ -39,21 +48,25 @@ describe('Script Block First Paint audit', () => {
3948 spendTime : 110
4049 }
4150 ]
51+ } ) . then ( auditResult => {
52+ assert . equal ( auditResult . rawValue , 150 ) ;
53+ assert . equal ( auditResult . displayValue , `2 resources delayed first paint by 150${ NBSP } ms` ) ;
54+ const results = auditResult . details . items ;
55+ assert . equal ( results . length , 2 ) ;
56+ assert . ok ( results [ 0 ] [ 0 ] . text . includes ( 'js/app.js' ) , 'has a url' ) ;
57+ assert . equal ( results [ 0 ] [ 2 ] . text , `150${ NBSP } ms` ) ;
58+ assert . equal ( results [ 1 ] [ 2 ] . text , `50${ NBSP } ms` ) ;
4259 } ) ;
43- assert . equal ( auditResult . rawValue , 150 ) ;
44- assert . equal ( auditResult . displayValue , `2 resources delayed first paint by 150${ NBSP } ms` ) ;
45- const results = auditResult . details . items ;
46- assert . equal ( results . length , 2 ) ;
47- assert . ok ( results [ 0 ] [ 0 ] . text . includes ( 'js/app.js' ) , 'has a url' ) ;
48- assert . equal ( results [ 0 ] [ 2 ] . text , `150${ NBSP } ms` ) ;
49- assert . equal ( results [ 1 ] [ 2 ] . text , `50${ NBSP } ms` ) ;
5060 } ) ;
5161
5262 it ( 'passes when there are no scripts found which block first paint' , ( ) => {
53- const auditResult = ScriptBlockingFirstPaintAudit . audit ( {
63+ return ScriptBlockingFirstPaintAudit . audit ( {
64+ traces : { } ,
65+ requestTraceOfTab : ( ) => Promise . resolve ( { timestamps : { } } ) ,
5466 TagsBlockingFirstPaint : [ ]
67+ } ) . then ( auditResult => {
68+ assert . equal ( auditResult . rawValue , 0 ) ;
69+ assert . equal ( auditResult . details . items . length , 0 ) ;
5570 } ) ;
56- assert . equal ( auditResult . rawValue , 0 ) ;
57- assert . equal ( auditResult . details . items . length , 0 ) ;
5871 } ) ;
5972} ) ;
0 commit comments