Merge branch 'master' into tizen_2.1
[platform/framework/web/web-ui-fw.git] / tests / unit-tests / virtualgrid / virtualgrid-tests.js
1 /*
2  * Unit Test: virtual grid
3  *
4  * Kangsik Kim <kangsik81.kim@samsung.com>
5  * Woosung Sohn <woosungim.sohn@samsung.com>
6  */
7
8 $( document ).ready( function () {
9         var virtualGrid, startVirtualGridTest;
10
11         module( "Virtualgrid" );
12
13         startVirtualGridTest = function ( virtualGrid ) {
14                 var $vgView,
15                         $vgScrollView,
16                         $vgWrapBlocks,
17                         $vgTmplElement,
18                         vgOptions = $( "#virtualgrid-test" ).virtualgrid( "option" ),
19                         vgHeight,
20                         idx,
21                         index = -1,
22                         $item,
23                         prevColCnt = 0;
24
25                 $vgView = $( ".ui-virtualgrid-view" );
26                 $vgScrollView = $vgView.find( ".ui-scrollview-view" );
27                 $vgWrapBlocks = $vgView.find( ".ui-virtualgrid-wrapblock-y" );
28                 $vgTmplElement = $vgWrapBlocks.find( ".ui-demo-namecard-pic" );
29                 vgHeight = $vgView.css( "height" ),
30
31                 test( "Virtualgrid", function () {
32                         $vgView.on( "select", function ( event ) {
33                                 ok( true, "Event : select" );
34                         });
35
36                         ok( $vgView, "Markup : View element" );
37                         ok( parseInt( vgHeight, 10 ) > 100, "Markup : The height of a view element");
38                         ok( $vgScrollView.length, "Markup : A Scrollview inside VirtualGrid" );
39                         ok( $vgWrapBlocks.length > 10, "Markup : Wrap block" );
40                         ok( $vgWrapBlocks.first().children().length > 1, "Markup : Children nodes of a wrap block");
41                         ok( $vgTmplElement.length, "Markup : A div element created via template");
42
43                         equal( vgOptions.template, "tizen-demo-namecard", "Option : template" );
44                         equal( vgOptions.direction, "y", "Option : direction" );
45                         equal( vgOptions.rotation, true, "Option : rotation" );
46
47                         $( "#virtualgrid-test" ).virtualgrid( "centerTo", "card_0009" );
48                         for ( idx = 0 ; idx < $vgWrapBlocks.length ; ++idx ) {
49                                 if ( $( $vgWrapBlocks[idx] ).hasClass( "card_0000" ) ) {
50                                         index = idx;
51                                         break;
52                                 }
53                         }
54
55                         ok( virtualGrid, "Method : create" );
56                         notEqual( index, 0, "Method : centerTo" );
57
58                         $item = $vgWrapBlocks.first();
59                         prevColCnt = $item.children().length;
60                         $( "#virtualgrid-test" ).width( 250 );
61                         $( "#virtualgrid-test" ).virtualgrid( "resize" );
62                         console.log( "resize : " + $item.children().length + ", " + prevColCnt );
63                         notEqual( $item.children().length, prevColCnt, "Method : resize" );
64
65                         $item = $( $vgWrapBlocks.first().children()[0] );
66                         try {
67                                 $item.trigger( "click" );
68                         } catch ( exception ) {
69                                 console.log( "click event exception : " + exception );
70                         }
71                 });
72         };
73
74         /* Load Dummy Data and Init Virtual Grid widget*/
75         if ( window.JSON_DATA ) {
76                 // trigger pagecreate
77                 $( "#virtualgrid_demo_page" ).page();
78
79                 virtualGrid = $( "#virtualgrid-test" ).virtualgrid( "create", {
80                         itemData: function ( idx ) {
81                                 return JSON_DATA[ idx ];
82                         },
83                         numItemData: JSON_DATA.length,
84                         cacheItemData: function ( minIdx, maxIdx ) { }
85                 });
86                 startVirtualGridTest( virtualGrid );
87         } else {
88                 console.log ( "Virtual Grid Init Fail." );
89         }
90 } );