2 * Unit Test: Extendable list
4 * Wongi Lee <wongi11.lee@samsung.com>
6 /*jslint browser: true*/
7 /*global $, jQuery, test, equal, ok*/
8 $( document ).ready( function ( ) {
10 module("Extendable List");
11 var unit_extendablelist_test = function ( widget ) {
13 var $elContainer = widget,
14 $elElements = widget.find("li"),
15 $spanElements = widget.find("span.ui-li-text-main"),
16 elOptions = widget.extendablelist("option");
18 widget.extendablelist( );
19 console.dir( elOptions );
20 /* Initialize and create method */
22 equal( $elElements.length, 51 ); /* 50 <li> items + one button. */
23 equal( $spanElements.length, 50 ); /* 50 <li> items + one button. */
25 equal( elOptions.id, "#" + widget.attr('id') );
26 equal( elOptions.childSelector, " li");
27 //equal( elOptions.dbtable, "JSON_DATA");
28 equal( elOptions.template, widget.jqmData('template') );
29 equal( elOptions.extenditems, 50 );
30 equal( elOptions.scrollview, true );
33 ok( widget.hasClass('ui-extendable-list-container'), "Markup check") ;
35 /* Click Load more button */
38 $("#load_more_message").click( );
40 $elElements = $("ul#extendable_list_main li");
41 $spanElements = widget.find("span.ui-li-text-main") ;
42 console.log( $elElements.length );
45 equal ( $elElements.length, 101 );
46 equal( $spanElements.length, 100 ); /* 50 <li> items + one button. */
47 } catch ( exception ) {
48 console.log("click load more button :" + exception );
52 }( ) ), "Click Load More button( )");
61 /* make short JSON array */
62 for ( i = 0; i < 200; i++ ) {
63 newJSON.push( window.JSON_DATA[ ( i + 100 ) ] );
67 $("ul#extendable_list_main").extendablelist("recreate", newJSON );
69 $elContainer = $("ul#extendable_list_main");
70 $elElements = $("ul#extendable_list_main li");
74 equal( $elElements.length, 51 ); /* 50 <li> items + one button. */
76 newItem = window.JSON_DATA[ 100 ];
78 firstLI = $("ul#extendable_list_main li:first");
81 equal( newItem.NAME, $( firstLI ).find("span.ui-li-text-main").text( ) );
82 } catch ( exception ) {
83 console.log( exception );
88 }( ) ), "recreate( )");
93 $("ul#extendable_list_main").extendablelist("destroy");
95 var destoyedelElements = $("ul#extendable_list_main li");
96 console.log( destoyedelElements.length );
99 equal ( destoyedelElements.length, 0 );
100 } catch ( exception ) {
101 console.log("destroy :" + exception );
105 }( ) ), "destroy( )");
108 /* Load Dummy Data and Init Extendable List widget*/
109 if ( window.JSON_DATA ) {
110 $("ul").filter( function ( ) {
111 return $( this ).data("role") == "extendablelist";
112 } ).addClass("elLoadSuccess");
114 // trigger pagecreate
115 $("#extendablelist-unit-test").page( );
116 $("ul#extendable_list_main").extendablelist("create");
118 test("Extendable list test", function ( ) {
119 unit_extendablelist_test( $('#extendable_list_main') ) ;
122 console.log ("Extendable List Init Fail.");