Tests that partitioning is added mid-flight in redirects.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS successfullyParsed is true

TEST COMPLETE
  

--------
Frame: '<!--framePath //<!--frame0-->-->'
--------
Should receive first-party cookie.
Received cookie named 'firstPartyCookie'.
Did not receive cookie named 'partitionedCookie'.
Client-side document.cookie: firstPartyCookie=value

--------
Frame: '<!--framePath //<!--frame1-->-->'
--------
Redirect case, should receive first-party cookie.
Received cookie named 'firstPartyCookie'.
Did not receive cookie named 'partitionedCookie'.
Client-side document.cookie: firstPartyCookie=value

--------
Frame: '<!--framePath //<!--frame2-->-->'
--------
Should receive no cookies.
Did not receive cookie named 'firstPartyCookie'.
Did not receive cookie named 'partitionedCookie'.
Client-side document.cookie:

--------
Frame: '<!--framePath //<!--frame3-->-->'
--------
Redirect case, should receive no cookie.
Did not receive cookie named 'firstPartyCookie'.
Did not receive cookie named 'partitionedCookie'.
Client-side document.cookie:

--------
Frame: '<!--framePath //<!--frame4-->-->'
--------
Set partitioned, third-party cookie.


--------
Frame: '<!--framePath //<!--frame5-->-->'
--------
Should receive partitioned cookie.
Did not receive cookie named 'firstPartyCookie'.
Received cookie named 'partitionedCookie'.
Client-side document.cookie: partitionedCookie=value

--------
Frame: '<!--framePath //<!--frame6-->-->'
--------
Redirect case, should receive partitioned cookie.
Did not receive cookie named 'firstPartyCookie'.
Received cookie named 'partitionedCookie'.
Client-side document.cookie: partitionedCookie=value
