@@ -144,3 +144,52 @@ func TestBrowserContextStorageStateRoundTripThroughTheFile(t *testing.T) {
144
144
require .NoError (t , err )
145
145
require .Equal (t , map [string ]interface {}{"name1" : "value1" }, localStorage )
146
146
}
147
+
148
+ func TestBrowserContextStorageStateRoundTripThroughConvert (t * testing.T ) {
149
+ BeforeEach (t )
150
+ defer AfterEach (t )
151
+ page1 , err := context .NewPage ()
152
+ require .NoError (t , err )
153
+ defer page1 .Close ()
154
+ require .NoError (t , page1 .Route ("**/*" , func (route playwright.Route ) {
155
+ require .NoError (t , route .Fulfill (playwright.RouteFulfillOptions {
156
+ Body : "<html></html>" ,
157
+ }))
158
+ }))
159
+ _ , err = page1 .Goto ("https://www.example.com" )
160
+ require .NoError (t , err )
161
+ _ , err = page1 .Evaluate (`
162
+ () => {
163
+ localStorage["name1"] = "value1"
164
+ document.cookie = "username=John Doe"
165
+ return document.cookie
166
+ }
167
+ ` )
168
+ require .NoError (t , err )
169
+
170
+ storageState , err := context .StorageState ()
171
+ require .NoError (t , err )
172
+
173
+ context2 , err := browser .NewContext (
174
+ playwright.BrowserNewContextOptions {
175
+ StorageState : storageState .ToOptionalStorageState (),
176
+ })
177
+ require .NoError (t , err )
178
+ defer context2 .Close ()
179
+ page2 , err := context2 .NewPage ()
180
+ require .NoError (t , err )
181
+ defer page2 .Close ()
182
+ require .NoError (t , page2 .Route ("**/*" , func (route playwright.Route ) {
183
+ require .NoError (t , route .Fulfill (playwright.RouteFulfillOptions {
184
+ Body : "<html></html>" ,
185
+ }))
186
+ }))
187
+ _ , err = page2 .Goto ("https://www.example.com" )
188
+ require .NoError (t , err )
189
+ cookie , err := page2 .Evaluate ("document.cookie" )
190
+ require .NoError (t , err )
191
+ require .Equal (t , "username=John Doe" , cookie )
192
+ localStorage , err := page2 .Evaluate ("window.localStorage" )
193
+ require .NoError (t , err )
194
+ require .Equal (t , map [string ]interface {}{"name1" : "value1" }, localStorage )
195
+ }
0 commit comments