Merge branch 'master' into tizen_2.1
[platform/framework/web/web-ui-fw.git] / tests / unit-tests / slider / slider-tests.js
1 /*
2  * Unit Test: Slider 
3  *
4  * Minkyu Kang <mk7.kang@samsung.com>
5  */
6
7 (function ($) {
8         module("Slider");
9
10         var unit_slider = function ( widget ) {
11                 var slider,
12                         handle,
13                         handle_left = function ( widget, slider ) {
14                                 var left = widget.val() * slider.width() /
15                                         ( widget.attr("max") - widget.attr("min") );
16                                 return Math.floor( left );
17                         },
18                         random_move = function ( min, max) {
19                                 return Math.floor( (Math.random() * (max - min + 1)) + min );
20                         };
21
22                 /* Create */
23                 widget.tizenslider();
24                 slider = widget.next().children(".ui-slider");
25                 ok( slider, "Create" );
26
27                 /* Check Background */
28                 equal( slider.parent().attr("class"), "ui-slider-container", "Background" );
29
30                 /* Check Parameters */
31                 handle = slider.find(".ui-slider-handle");
32
33                 equal( handle.attr("aria-valuenow"), widget.val(), "Paramter: value" );
34                 equal( handle.attr("aria-valuemin"), widget.attr("min"), "Paramter: min" );
35                 equal( handle.attr("aria-valuemax"), widget.attr("max"), "Paramter: max" );
36
37                 ok( Math.abs(parseInt( handle.css("left") ) - handle_left( widget, slider ) ) <= 1, "Handle Location: Default" );
38
39                 /* Check APIs */
40                 widget.val( random_move(widget.attr("min"), widget.attr("max")) );
41                 widget.trigger("change");
42                 ok( Math.abs(parseInt( handle.css("left") ) - handle_left( widget, slider ) ) <= 1, "Handle Location: Moved" );
43         };
44
45         test( "normal slider", function () {
46                 unit_slider( $("#slider0") );
47         });
48
49         test( "icon slider", function () {
50                 unit_slider( $("#slider1") );
51         });
52
53         test( "jqm enhancing", function () {
54                 ok( $( "#slider3" ).slider(), "JQM slider enhances select elements" );
55         });
56 }( jQuery ));