Ticket #5181: draggable_options.patch

File draggable_options.patch, 1.4 KB (added by macarthy, 10 years ago)

new tests for contrain by array

  • draggable_options.js

     
    158158        })
    159159});
    160160
     161
     162test("{ containment: Array x1,y1,x2,y2 }", function() {
     163       
     164        var el_offset, x1 ,x2,y1,y2
     165        var dragged_el_x2 , dragged_el_y2, x2y2offsetAfter
     166       
     167        // create a containment area 20 pixel around this element
     168
     169        el_offset = $("#draggable1").offset();
     170        x1 = el_offset.left - 20;
     171        y1 = el_offset.left     - 20;
     172        x2 = x1 + $("#draggable1").outerHeight(true) + 20;
     173        y2 = y1 + $("#draggable1").outerWidth(true) + 20;
     174
     175        el = $("#draggable1").draggable({ containment:[ x1, y1, x2, y2 ] });
     176       
     177       
     178        // drag it passed the containment area top and left
     179        drag(el, -25, -25);
     180        var expected = {
     181                left: x1,
     182                top: y1
     183        }
     184        same(offsetAfter, expected, 'insure containment by array, top left corner');
     185       
     186       
     187        // drag it passed the containment area right and down
     188        drag(el, 400 ,400);
     189       
     190        //calculate the x,y position of the elements bottom right corner after dragging
     191        var x2y2offsetAfter = {
     192                left: offsetAfter.left + $("#draggable1").outerHeight(true),
     193                top: offsetAfter.top + $("#draggable1").outerWidth(true)
     194        }
     195        var expected = {
     196                left: x2,
     197                top: y2
     198        }
     199        same(x2y2offsetAfter , expected, 'insure containment by array, bottom right corner');
     200       
     201});
     202
     203
    161204test("{ containment: false }, default", function() {
    162205        equals(draggable_defaults.containment, false);
    163206