@@ -313,4 +313,73 @@ QUnit.test( "Resizable with scrollbars and box-sizing: content-box", function( a
313
313
style . remove ( ) ;
314
314
} ) ;
315
315
316
+ QUnit . test ( "Resizable with scrollbars, a transform and box-sizing: border-box" , function ( assert ) {
317
+ assert . expect ( 4 ) ;
318
+
319
+ var style = $ ( "<style> * { box-sizing: border-box; } </style>" ) . appendTo ( "head" ) ;
320
+
321
+ //Both scrollbars
322
+ var elementContent = $ ( "<div>" )
323
+ . css ( {
324
+ width : "200px" ,
325
+ height : "200px" ,
326
+ padding : "10px" ,
327
+ border : "5px" ,
328
+ borderStyle : "solid" ,
329
+ margin : "20px"
330
+ } )
331
+ . appendTo ( "#resizable1" ) ,
332
+ element = $ ( "#resizable1" ) . css ( { overflow : "auto" , transform : "scale(1.5)" } ) . resizable ( ) ,
333
+ handle = ".ui-resizable-se" ;
334
+
335
+ testHelper . drag ( handle , 10 , 10 ) ;
336
+ assert . equal ( element . width ( ) , 110 , "element width (both scrollbars)" ) ;
337
+ assert . equal ( element . height ( ) , 110 , "element height (both scrollbars)" ) ;
338
+
339
+ //Single (vertical) scrollbar.
340
+ elementContent . css ( "width" , "50px" ) ;
341
+ testHelper . drag ( handle , 10 , 10 ) ;
342
+ assert . equal ( element . width ( ) , 120 , "element width (only vertical scrollbar)" ) ;
343
+ assert . equal ( element . height ( ) , 120 , "element height (only vertical scrollbar)" ) ;
344
+
345
+ style . remove ( ) ;
346
+ } ) ;
347
+
348
+ QUnit . test ( "Resizable with scrollbars, a transform and box-sizing: content-box" , function ( assert ) {
349
+ assert . expect ( 4 ) ;
350
+
351
+ var style = $ ( "<style> * { box-sizing: content-box; } </style>" ) . appendTo ( "head" ) ;
352
+
353
+ //Both scrollbars
354
+ var elementContent = $ ( "<div>" )
355
+ . css ( {
356
+ width : "200px" ,
357
+ height : "200px" ,
358
+ padding : "10px" ,
359
+ border : "5px" ,
360
+ borderStyle : "solid" ,
361
+ margin : "20px"
362
+ } )
363
+ . appendTo ( "#resizable1" ) ,
364
+ element = $ ( "#resizable1" ) . css ( { overflow : "auto" , transform : "scale(1.5)" } ) . resizable ( ) ,
365
+ handle = ".ui-resizable-se" ;
366
+
367
+ // In some browsers scrollbar may change element size (when "box-sizing: content-box")
368
+ var widthBefore = element . innerWidth ( ) ;
369
+ var heightBefore = element . innerHeight ( ) ;
370
+
371
+ testHelper . drag ( handle , 10 , 10 ) ;
372
+ assert . equal ( parseFloat ( element . innerWidth ( ) ) , widthBefore + 10 , "element width (both scrollbars)" ) ;
373
+ assert . equal ( parseFloat ( element . innerHeight ( ) ) , heightBefore + 10 , "element height (both scrollbars)" ) ;
374
+
375
+ //Single (vertical) scrollbar.
376
+ elementContent . css ( "width" , "50px" ) ;
377
+
378
+ testHelper . drag ( handle , 10 , 10 ) ;
379
+ assert . equal ( parseFloat ( element . innerWidth ( ) ) , widthBefore + 20 , "element width (only vertical scrollbar)" ) ;
380
+ assert . equal ( parseFloat ( element . innerHeight ( ) ) , heightBefore + 20 , "element height (only vertical scrollbar)" ) ;
381
+
382
+ style . remove ( ) ;
383
+ } ) ;
384
+
316
385
} ) ;
0 commit comments