UnitTC: Additional unit testcases have been added
[platform/framework/web/web-ui-fw.git] / tests / additional-unit-tests / toggleswitch / toggleswitch-tests.js
1 /*
2  * Unit Test : Toggle Switch
3  *
4  *
5  */
6 /*jslint browser: true*/
7 /*global $, jQuery, test, equal, ok*/
8 $( document ).ready( function ( ) {
9         module("toggleswitch" );
10
11         var unit_toggleswitch = function ( widget ) {
12                 var toggleswitch ;
13
14                 /* Create */
15                 widget.slider( );
16                 toggleswitch = widget.parent( ).find('.ui-slider-switch') ;
17                 ok( toggleswitch, "Create" );
18
19                 /* Class Check*/
20                 equal( toggleswitch.hasClass('ui-slider'), true , "Class check" );
21
22                 /*Markup check*/
23                 equal( toggleswitch.find('span.ui-slider-label').length, 2 , "makrup check : 2 options present" );
24                 equal( toggleswitch.find('span.ui-slider-label')[1].innerHTML, "On" , "makrup check : correct text in option" );
25                 equal( toggleswitch.find('span.ui-slider-label')[0].innerHTML , "Off" , "makrup check : correct text in option" );
26                 ok( toggleswitch.find('a.ui-slider-handle') , "makrup check : toggle handle present" );
27                 equal( toggleswitch.find('a.ui-slider-handle').attr('title'), 'On', "makrup check : handle present" );
28                 equal( toggleswitch.find('span.ui-slider-label')[1].style.width, '100%', "makrup check : 2 options present" );
29
30                 /*check control after firing events*/
31                 toggleswitch.trigger('vmousedown') ;
32                 toggleswitch.trigger('vmouseup') ;
33                 equal( toggleswitch.find('a.ui-slider-handle').attr('title'), 'Off', "Markup check after firing click event first time" );
34                 equal( toggleswitch.find('span.ui-slider-label')[0].style.width, '100%', "Markup check after firing click event first time" );
35                 equal( toggleswitch.find('span.ui-slider-label')[1].style.width, '0%', "Markup check after firing click event first time" );
36                 toggleswitch.trigger('vmousedown') ;
37                 toggleswitch.trigger('vmouseup') ;
38                 equal( toggleswitch.find('a.ui-slider-handle').attr('title'), 'On', "Markup check after firing click event second time" );
39                 equal( toggleswitch.find('span.ui-slider-label')[0].style.width, '0%', "Markup check after firing click event second time" );
40                 equal( toggleswitch.find('span.ui-slider-label')[1].style.width, '100%', "Markup check after firing click event second time" );
41
42                 /* Check Enable , Disbale */
43                 widget.slider("disable" );
44                 toggleswitch.trigger('vmousedown') ;
45                 toggleswitch.trigger('vmouseup') ;
46                 equal( toggleswitch.find('a.ui-slider-handle').attr('title'), 'On', "Markup check after firing click event after switch was disabled" );
47                 equal( toggleswitch.find('span.ui-slider-label')[1].style.width, '100%', "Markup check after firing click event after switch was disabled" );
48                 equal( toggleswitch.find('span.ui-slider-label')[0].style.width, '0%', "Markup check after firing click event after switch was disabled" );
49
50                 widget.slider("enable" );
51                 toggleswitch.trigger('vmousedown') ;
52                 toggleswitch.trigger('vmouseup') ;
53                 equal( toggleswitch.find('a.ui-slider-handle').attr('title'), 'Off', "Markup check after firing click event after switch was re enabled" );
54                 equal( toggleswitch.find('span.ui-slider-label')[0].style.width, '100%', "Markup check after firing click event after switch was re enabled" );
55                 equal( toggleswitch.find('span.ui-slider-label')[1].style.width, '0%', "Markup check after firing click event after switch was re enabled" );
56
57                 /*refresh */
58                 widget.find('option')[1].innerHTML = "False" ;
59                 equal( toggleswitch.find('a.ui-slider-handle').attr('title'), 'Off', "API Refresh : Stoggleswitch is not modified before refresh is called" );
60                 widget.slider('refresh') ;
61                 equal( toggleswitch.find('a.ui-slider-handle').attr('title'), 'False', "API Refresh : Stoggleswitch is modified after refresh is called" );
62
63         };
64
65         test( "normal toggleswitch", function ( ) {
66                 $('#toggleswitch1').page( ) ;
67                 unit_toggleswitch( $("#newslider" ) );
68         } );
69
70         test( "normal toggleswitch -dynamic", function ( ) {
71                 var createEvent = false ,
72                         toggleHTML = "<select data-role='slider'name='slider'id='dynamicslider'data-texton='true'>" +
73                                                                                 "<option value='on'>On</option>" +
74                                                                                 "<option value='off'>Off</option>" +
75                                                                         "</select>;";
76
77                 $('#toggleswitch2').page( ) ;
78                 $('#toggleswitch2').find(":jqmData(role=content)" ).append( toggleHTML );
79                 $('#dynamicslider').slider( {create : function ( ) {
80                         createEvent = true ;
81                 }} ) ;
82                 $('#toggleswitch2').find(":jqmData(role=content)" ).trigger("create" );
83                 equal( createEvent, true, "Create Event" );
84                 unit_toggleswitch( $("#dynamicslider" ) );
85         } );
86 } );