Skip to content

Commit fe9c9f8

Browse files
committed
Added tests for resizable when a css transform is set.
1 parent a90f83a commit fe9c9f8

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

tests/unit/resizable/core.js

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,4 +313,73 @@ QUnit.test( "Resizable with scrollbars and box-sizing: content-box", function( a
313313
style.remove();
314314
} );
315315

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+
316385
} );

0 commit comments

Comments
 (0)