Skip to content

Instantly share code, notes, and snippets.

@petersendidit
Created January 30, 2013 18:33
Show Gist options
  • Save petersendidit/4675503 to your computer and use it in GitHub Desktop.
Save petersendidit/4675503 to your computer and use it in GitHub Desktop.

Revisions

  1. petersendidit created this gist Jan 30, 2013.
    102 changes: 102 additions & 0 deletions rangetests.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,102 @@
    test( "range", function() {
    expect( 27 );
    var element, range;

    // min
    element = $("<div></div>").slider({
    range: "min",
    min: 1,
    max: 10,
    step: 1
    });

    equal( element.find( ".ui-slider-handle" ).length, 1, "range min, one handle");
    equal( element.find( ".ui-slider-range-min" ).length, 1, "range min" );
    element.slider( "destroy" );

    // max
    element = $("<div></div>").slider({
    range: "max",
    min: 1,
    max: 10,
    step: 1
    });

    equal( element.find( ".ui-slider-handle" ).length, 1, "range max, one handle");
    equal( element.find( ".ui-slider-range-max" ).length, 1, "range max" );
    element.slider( "destroy" );

    // true
    element = $("<div></div>").slider({
    range: true,
    min: 1,
    max: 10,
    step: 1
    });

    range = element.find( ".ui-slider-range" );
    equal( element.find( ".ui-slider-handle" ).length, 2, "range true, two handles");
    ok( !range.is( ".ui-slider-range-min"), "range true" );
    ok( !range.is( ".ui-slider-range-max"), "range true" );
    element.slider( "destroy" );

    // Change range from min to max
    element = $("<div></div>").slider({
    range: "min",
    min: 1,
    max: 10,
    step: 1
    }).slider( "option", "range", "max" );

    equal( element.find( ".ui-slider-handle" ).length, 1, "range switch from min to max, one handle");
    equal( element.find( ".ui-slider-range-min" ).length, 0, "range switch from min to max" );
    equal( element.find( ".ui-slider-range-max" ).length, 1, "range switch from min to max" );
    element.slider( "destroy" );

    // Change range from max to min
    element = $("<div></div>").slider({
    range: "max",
    min: 1,
    max: 10,
    step: 1
    }).slider( "option", "range", "min" );

    equal( element.find( ".ui-slider-handle" ).length, 1, "range switch from max to min, one handle");
    equal( element.find( ".ui-slider-range-max" ).length, 0, "range switch from max to min" );
    equal( element.find( ".ui-slider-range-min" ).length, 1, "range switch from max to min" );
    element.slider( "destroy" );

    // Change range from max to true
    element = $("<div></div>").slider({
    range: "max",
    min: 1,
    max: 10,
    step: 1
    }).slider( "option", "range", true );

    equal( element.find( ".ui-slider-handle" ).length, 2, "range switch from max to true, two handles");
    equal( element.find( ".ui-slider-range-max" ).length, 0, "range switch from max to true" );
    equal( element.find( ".ui-slider-range-min" ).length, 0, "range switch from max to true" );
    equal( element.slider( "option", "value" ), 0 , "option value" );
    equal( element.slider( "value" ), 1 , "value" );
    deepEqual( element.slider( "option", "values" ), [1, 1], "option values" );
    deepEqual( element.slider( "values" ), [1, 1], "values" );
    element.slider( "destroy" );

    // Change range from true to min
    element = $("<div></div>").slider({
    range: true,
    min: 1,
    max: 10,
    step: 1
    }).slider( "option", "range", "min" );

    equal( element.find( ".ui-slider-handle" ).length, 1, "range switch from true to min, one handle");
    equal( element.find( ".ui-slider-range-max" ).length, 0, "range switch from true to min" );
    equal( element.find( ".ui-slider-range-min" ).length, 1, "range switch from true to min" );
    equal( element.slider( "option", "value" ), 1, "value" );
    equal( element.slider( "value" ), 1 , "value" );
    equal( element.slider( "option", "values" ), null, "values" );
    deepEqual( element.slider( "values" ), [] , "values" );
    element.slider( "destroy" );
    });