@@ -147,6 +147,32 @@ describe('Page.$eval', function() {
147
147
expect ( await page . $eval ( `div >> [placeholder="Select date"]` , e => e . outerHTML ) ) . toBe ( '<input placeholder="Select date">' ) ;
148
148
expect ( await page . $eval ( `div >> [placeholder='Select date']` , e => e . outerHTML ) ) . toBe ( '<input placeholder="Select date">' ) ;
149
149
} ) ;
150
+ it ( 'should work with quotes in css attributes' , async ( { page, server} ) => {
151
+ await page . setContent ( '<div><input placeholder="Select"date"></div>' ) ;
152
+ expect ( await page . $ ( `[placeholder="Select\\"date"]` ) ) . toBeTruthy ( ) ;
153
+ expect ( await page . $ ( `[placeholder='Select"date']` ) ) . toBeTruthy ( ) ;
154
+ await page . setContent ( '<div><input placeholder="Select " date"></div>' ) ;
155
+ expect ( await page . $ ( `[placeholder="Select \\" date"]` ) ) . toBeTruthy ( ) ;
156
+ expect ( await page . $ ( `[placeholder='Select " date']` ) ) . toBeTruthy ( ) ;
157
+ await page . setContent ( '<div><input placeholder="Select'date"></div>' ) ;
158
+ expect ( await page . $ ( `[placeholder="Select'date"]` ) ) . toBeTruthy ( ) ;
159
+ expect ( await page . $ ( `[placeholder='Select\\'date']` ) ) . toBeTruthy ( ) ;
160
+ await page . setContent ( '<div><input placeholder="Select ' date"></div>' ) ;
161
+ expect ( await page . $ ( `[placeholder="Select ' date"]` ) ) . toBeTruthy ( ) ;
162
+ expect ( await page . $ ( `[placeholder='Select \\' date']` ) ) . toBeTruthy ( ) ;
163
+ } ) ;
164
+ it ( 'should work with spaces in css attributes when missing' , async ( { page, server} ) => {
165
+ const inputPromise = page . waitForSelector ( `[placeholder="Select date"]` ) ;
166
+ expect ( await page . $ ( `[placeholder="Select date"]` ) ) . toBe ( null ) ;
167
+ await page . setContent ( '<div><input placeholder="Select date"></div>' ) ;
168
+ await inputPromise ;
169
+ } ) ;
170
+ it ( 'should work with quotes in css attributes when missing' , async ( { page, server} ) => {
171
+ const inputPromise = page . waitForSelector ( `[placeholder="Select\\"date"]` ) ;
172
+ expect ( await page . $ ( `[placeholder="Select\\"date"]` ) ) . toBe ( null ) ;
173
+ await page . setContent ( '<div><input placeholder="Select"date"></div>' ) ;
174
+ await inputPromise ;
175
+ } ) ;
150
176
} ) ;
151
177
152
178
describe ( 'Page.$$eval' , function ( ) {
0 commit comments