extendablelist: Fix unit-test
[platform/framework/web/web-ui-fw.git] / tests / unit-tests / extendablelist / extendablelist-tests.js
1 /*
2  * Unit Test: Extendable list
3  *
4  * Wongi Lee <wongi11.lee@samsung.com>
5  */
6
7 $( document ).ready( function () {
8
9         module( "Extendable List");
10
11         function startExtendableListTest(){
12                 var $elContainer = $( "ul#extendable_list_main" ),
13                         $elElements = $( "ul#extendable_list_main li" ),
14                         elOptions = $( "ul#extendable_list_main" ).extendablelist( "option" );
15                 console.dir( elOptions );
16
17                 test( "Extendable list test", function () {
18                         /* Initialize and create method */
19                         ok( $elContainer );
20                         equal( $elElements.length, 51 );        /* 50 <li> items + one button. */
21
22                         /* Options */
23                         equal( elOptions.id, "#extendable_list_main" );
24                         equal( elOptions.childSelector, " li" );
25                         equal( elOptions.template, "tmp-1line" );
26                         equal( elOptions.extenditems, 50 );
27                         equal( elOptions.scrollview, true );
28
29                         /* Click Load more button */
30                         ok ( ( function () {
31                                 /* Click Button  */
32                                 $( "#load_more_message" ).click();
33
34                                 $elElements = $( "ul#extendable_list_main li" );
35                                 console.log( $elElements.length );
36
37                                 try {
38                                         equal ( $elElements.length, 101 );
39                                 } catch ( exception ) {
40                                         console.log( "click load more button  : " + exception );
41                                         return false;
42                                 }
43                                 return true;
44                         }() ), "Click Load More button()" );
45
46                         ok ( ( function () {
47                                 var i = 0,
48                                         newJSON = new Array(),
49                                         newItem,
50                                         firstLI,
51                                         result = true;
52
53                                 /* make short JSON array */
54                                 for ( i = 0; i < 200; i++ ) {
55                                         newJSON.push( window.JSON_DATA[ ( i + 100 ) ] );
56                                 }
57
58                                 /* Call recreate */
59                                 $( "ul#extendable_list_main" ).extendablelist( "recreate", newJSON );
60
61                                 $elContainer = $( "ul#extendable_list_main" );
62                                 $elElements = $( "ul#extendable_list_main li" );
63
64                                 /* Check new List */
65                                 ok( $elContainer );
66                                 equal( $elElements.length, 51 );        /* 50 <li> items + one button. */
67
68                                 newItem = window.JSON_DATA[ 100 ];
69
70                                 firstLI = $( "ul#extendable_list_main li:first" );
71
72                                 try {
73                                         equal( newItem.NAME, $( firstLI ).find( "span.ui-li-text-main" ).text() );
74                                 } catch ( exception ) {
75                                         console.log( exception );
76                                         return false;
77                                 }
78
79                                 return true;
80                         }() ), "recreate()" );
81
82                         /* Destroy method */
83                         ok ( ( function () {
84                                 /* Call destroy */
85                                 $( "ul#extendable_list_main" ).extendablelist( "destroy" );
86
87                                 var destoyedelElements = $( "ul#extendable_list_main li" );
88                                 console.log( destoyedelElements.length );
89
90                                 try {
91                                         equal ( destoyedelElements.length, 0 );
92                                 } catch ( exception ) {
93                                         console.log( "destroy : " + exception );
94                                         return false;
95                                 }
96                                 return true;
97                         }() ), "destroy()" );
98                 } );
99         }
100
101         /* Load Dummy Data and Init Extendable List widget*/
102         if ( window.JSON_DATA ) {
103                 $( "ul" ).filter( function () {
104                         return $( this ).data( "role" ) == "extendablelist";
105                 } ).addClass( "elLoadSuccess" );
106
107                 // trigger pagecreate
108                 $( "#extendablelist-unit-test" ).page();
109
110                 $( "ul#extendable_list_main" ).extendablelist( "create" );
111
112                 startExtendableListTest();
113         } else {
114                 console.log ( "Extendable List Init Fail." );
115         }
116 } );