UnitTC: Additional unit testcases have been added
[platform/framework/web/web-ui-fw.git] / tests / additional-unit-tests / swipe / swipe-tests.js
1 /*
2  * swipe unit tests
3  *
4  * Hyunjung Kim <hjnim.kim@samsung.com>
5  *
6  */
7 /*jslint browser: true*/
8 /*global $, jQuery, test, equal, ok, asyncTest, expect, start, stop*/
9 ( function ( $ ) {
10
11         module("swipe" );
12         var unit_swipe = function ( swipe, type ) {
13                 var covers,
14                         cover,
15                         coverStart,
16                         item,
17                         secondSwipe,
18                         slideLeftDone = function ( ) {
19                                 ok( true, "Animation Complete - sliding left" );
20                                 cover.unbind("animationend" );
21                                 equal( cover.position( ).left, coverStart, "Position - Cover" );
22                                 start( );
23                         },
24                         slideRightDone = function ( ) {
25                                 ok( true, "Animation Complete - sliding right" );
26                                 setTimeout( function ( ) {
27                                         cover.unbind("animationend" );
28                                         cover.bind("animationend", slideLeftDone );
29                                         item.trigger("swipeleft" );
30                                 }, 0 );
31                         };
32
33                 if ( type == 'swipe') {
34                         $("#swipepage" ).page( );
35                 } else if ( type == 'swipedynamic') {
36                         $("#swipedynamicpage" ).page( );
37                 }
38
39                 swipe.swipe( );
40                 ok( swipe.hasClass("ui-swipe" ), "Create - Swipe" );
41
42                 covers = swipe.find("div.ui-swipe-item-cover" );
43                 cover = covers.first( );
44
45                 coverStart = cover.position( ).left;
46                 item = swipe.find("div.ui-swipe-item" ).first( );
47
48                 /*API : open , close*/
49                 cover.unbind("animationend" );
50                 swipe.swipe('open');
51                 equal( swipe.swipe('opened'), true, "API : open" );
52
53                 swipe.swipe('close');
54                 equal( swipe.swipe('opened'), false, "API : close" );
55
56                 cover.bind("animationend", slideRightDone );
57                 cover.trigger("swiperight" );
58                 stop( );
59
60                 equal( swipe.find("div.ui-swipe-item" ).length , 1, "Count - Swipeable li" );
61                 equal( covers.length , 1, "Count - cover" );
62
63                 equal( covers.get( 0 ).innerText, "Swipe2", "Check - Cover string value" );
64
65                 /*Check other swipe items are closed*/
66                 secondSwipe = swipe.next( );
67                 secondSwipe.swipe( ) ;
68                 if ( secondSwipe ) {
69                         secondSwipe.swipe('open');
70                         swipe.swipe('open');
71                         equal( secondSwipe.swipe('opened'), false, "When one open other swipe elements close." );
72                 }
73         },
74
75                 unit_swipe_destroy = function ( swipe, type ) {
76                         var covers,
77                                 new_page = $("#swipedestorypage" );
78
79                         new_page.page( );
80                         swipe.swipe( );
81                         ok( swipe.hasClass("ui-swipe" ), "Create - Swipe" );
82                         covers = swipe.find("div.ui-swipe-item-cover" );
83                         equal( swipe.find("div.ui-swipe-item" ).length , 1, "Count - Swipeable ui-swipe-item" );
84
85                         equal( covers.length , 1, "Count - cover" );
86
87                         swipe.swipe("destroy" );
88                         equal( swipe.has('.ui-swipe').length, 0, "Destroy - swipe" );
89                         equal( swipe.has('.ui-swipe-item').length, 0 , "Destroy - item" );
90                         equal( swipe.has('.ui-swipe-item-cover').length, 0, "Destroy - cover" );
91
92                 };
93
94         asyncTest( " swipe", function ( ) {
95                 expect( 10 );
96                 unit_swipe( $("#swipewidget" ), "swipe" );
97                 start( );
98         } );
99
100
101         asyncTest( " swipe - destory", function ( ) {
102                 expect( 6 ) ;
103                 unit_swipe_destroy( $("#swipedestroy" ), "swipedestroy" ) ;
104                 start( ) ;
105         } );
106
107         asyncTest( " swipe - dynamic", function ( ) {
108                 expect( 10 );
109                 var listContentHTML = '<li id= "swipewidgetdynamic" data-role= "swipe">' +
110                                                                                         '<div data-role= "swipe-item">' +
111                                                                                                 '<div data-role= "button" data-inline= "true">Twitter</div>' +
112                                                                                                 '<div data-role= "button" data-inline= "true">Twitter</div>' +
113                                                                                                 '<div data-role= "button" data-inline= "true">Facebook</div>' +
114                                                                                                 '<div data-role= "button" data-inline= "true">Facebook</div>' +
115                                                                                         '</div>' +
116                                                                                         '<div data-role= "swipe-item-cover">' +
117                                                                                                 'Swipe2' +
118                                                                                         '</div>' +
119                                                                                 '</li>' +
120                                                                                 '<li data-role= "swipe" id= "swipewidget2">' +
121                                                                                         '<div data-role= "swipe-item">' +
122                                                                                                 '<div data-role= "button" data-inline= "true">Twitter</div>' +
123                                                                                                 '<div data-role= "button" data-inline= "true">Twitter</div>' +
124                                                                                                 '<div data-role= "button" data-inline= "true">Facebook</div>' +
125                                                                                                 '<div data-role= "button" data-inline= "true">Facebook</div>' +
126                                                                                         '</div>' +
127                                                                                         '<div data-role= "swipe-item-cover">' +
128                                                                                                 'Swipe1' +
129                                                                                         '</div>' +
130                                                                                 '</li>';
131                 $("#swipedynamiclist" ).append( listContentHTML ).trigger("create" ) ;
132                 unit_swipe( $("#swipewidgetdynamic" ), "swipedynamic" );
133                 start( ) ;
134         } );
135
136 } ( jQuery ) ) ;