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 ( function ( $ ) {
9         module( "Virtualgrid" );
10
11         var startVirtualGridTest = function ( virtualGrid ) {
12                 var $vgView,
13                         $vgScrollView,
14                         $vgWrapBlocks,
15                         $vgTmplElement,
16                         vgOptions = $( "#virtualgrid-test" ).virtualgrid( "option" ),
17                         vgHeight,
18                         idx,
19                         index = -1,
20                         $item,
21                         prevColCnt = 0;
22
23                 $vgView = $( ".ui-virtualgrid-view" );
24                 $vgScrollView = $vgView.find( ".ui-scrollview-view" );
25                 $vgWrapBlocks = $vgView.find( ".ui-virtualgrid-wrapblock-y" );
26                 $vgTmplElement = $vgWrapBlocks.find( ".ui-demo-namecard-pic" );
27                 vgHeight = $vgView.css( "height" ),
28
29                 test( "Virtualgrid", function () {
30                         $vgView.on( "select", function ( event ) {
31                                 ok( true, "Event : select" );
32                         });
33
34                         ok( $vgView, "Markup : View element" );
35                         ok( parseInt( vgHeight, 10 ) > 100, "Markup : The height of a view element");
36                         ok( $vgScrollView.length, "Markup : A Scrollview inside VirtualGrid" );
37                         ok( $vgWrapBlocks.length > 10, "Markup : Wrap block" );
38                         ok( $vgWrapBlocks.first().children().length > 1, "Markup : Children nodes of a wrap block");
39                         ok( $vgTmplElement.length, "Markup : A div element created via template");
40
41                         equal( vgOptions.template, "tizen-demo-namecard", "Option : template" );
42                         equal( vgOptions.direction, "y", "Option : direction" );
43                         equal( vgOptions.rotation, true, "Option : rotation" );
44
45                         $( "#virtualgrid-test" ).virtualgrid( "centerTo", "card_0009" );
46                         for ( idx = 0 ; idx < $vgWrapBlocks.length ; ++idx ) {
47                                 if ( $( $vgWrapBlocks[idx] ).hasClass( "card_0000" ) ) {
48                                         index = idx;
49                                         break;
50                                 }
51                         }
52
53                         ok( virtualGrid, "Method : create" );
54                         notEqual( index, 0, "Method : centerTo" );
55
56                         $item = $vgWrapBlocks.first();
57                         prevColCnt = $item.children().length;
58                         $( "#virtualgrid-test" ).width( 250 );
59                         $( "#virtualgrid-test" ).virtualgrid( "resize" );
60                         console.log( "resize : " + $item.children().length + ", " + prevColCnt );
61                         notEqual( $item.children().length, prevColCnt, "Method : resize" );
62
63                         $item = $( $vgWrapBlocks.first().children()[0] );
64                         $item.trigger( "click" );
65                 });
66         };
67
68         $( document ).bind( "dataloaded" , function () {
69                 var virtualGrid = $( "#virtualgrid-test" ).virtualgrid( "create" , {
70                         itemData: function ( idx ) {
71                                 return JSON_DATA[ idx ];
72                         },
73                         numItemData: JSON_DATA.length,
74                         cacheItemData: function ( minIdx, maxIdx ) { }
75                 });
76
77                 startVirtualGridTest( virtualGrid );
78         });
79 }( jQuery ));