UnitTC: Additional unit testcases have been added
[platform/framework/web/web-ui-fw.git] / tests / additional-unit-tests / searchbar / searchbar-tests.js
1 /*
2  * Unit Test : Searchbar list
3  *
4  * Wongi Lee <wongi11.lee@samsung.com>
5  */
6 /*jslint browser: true*/
7 /*global $, jQuery, test, equal, ok, notEqual*/
8 $( document ).ready( function ( ) {
9
10         module( "Searchbar" );
11
12         // trigger pagecreate
13         $( "#searchbar-unit-test" ).page( );
14
15         var searctbar_test = function ( widget, options ) {
16                 var $divSearchbar = $( "#searchbar-unit-test div.input-search-bar" ),
17                         $input = $( "input" );
18
19                 equal( $divSearchbar.length, 1, "initialized" );
20                 equal( $divSearchbar.find( "div.ui-input-search" ).length, 1 );
21                 equal( $divSearchbar.find( "div.ui-input-search input.ui-input-text" ).length, 1 );
22                 equal( $divSearchbar.find( "div.ui-input-search a.ui-input-clear" ).hasClass( "ui-input-clear-hidden" ), true );
23                 equal( $divSearchbar.find( "div.ui-input-search div.ui-image-search" ).length, 1 );
24
25                 equal( $("#searchbar-content p" ).filter( function ( index ) {
26                         return $( this ).css( "display" ) != "none";
27                 } ).length, 30 );
28
29                 /* Public Method */
30                 /* disable */
31                 $( "#searchInput" ).searchbar( "disable" );
32                 equal( $( "#searchbar-unit-test div.ui-input-search" ).hasClass( "ui-disabled" ), true, "disable" );
33                 equal( $( "#searchInput" ).attr( "disabled" ), "disabled" );
34
35
36                 $input.val( "are" ).trigger( "change" );
37                 equal( $("#searchbar-content p" ).filter( function ( index ) {
38                         return $( this ).css( "display" ) != "none";
39                 } ).length, 1 , "After search bar was disabled testing chage event" );
40
41                 /* enable */
42                 $( "#searchInput" ).searchbar( "enable" );
43                 equal( $( "#searchbar-unit-test div.ui-input-search" ).hasClass( "ui-disabled" ), false, "enable" );
44                 equal( $( "#searchInput" ).attr( "disabled" ), undefined );
45
46                 /* Event */
47                 /* Search : Input and trigger change */
48                 $input.focus( );
49                 equal( $( "div.ui-image-search" ).css( "display" ), "block", "Input and trigger change" );
50
51                 $input.val( "a" ).trigger( "change" );
52
53                 $input.val( "are" ).trigger( "change" );
54                 equal( $("#searchbar-content p" ).filter( function ( index ) {
55                         return $( this ).css( "display" ) != "none";
56                 } ).length, 1 );
57
58                 $input.val( "12" ).trigger( "change" );
59                 equal( $("#searchbar-content p" ).filter( function ( index ) {
60                         return $( this ).css( "display" ) != "none";
61                 } ).length, 0 );
62
63                 /* Clear button pressed. */
64                 $( "a.ui-input-clear" ).trigger( "click" );
65                 equal( $("#searchbar-content p" ).filter( function ( index ) {
66                         return $( this ).css( "display" ) != "none";
67                 } ).length, 30 );
68
69                 equal( $divSearchbar.find( "div.ui-input-search a.ui-input-clear" ).hasClass( "ui-input-clear-hidden" ), true, "Clear button pressed" );
70
71                 if ( options.button ) {
72                         /* Button test */
73                         equal( $( ".ui-btn" ).hasClass( "ui-btn" ), true );
74                         equal( $divSearchbar.find( "> .ui-btn" ).jqmData("icon" ), options.button );
75                 }
76
77                 if ( options.cancel == true ) {
78                         /* Cancel test*/
79                         equal( $( ".ui-input-cancel" ).hasClass( "ui-btn" ), true );
80                         equal( $( ".ui-input-cancel" ).hasClass( "ui-btn-icon-cancel" ), true );
81
82                         equal( $( ".ui-input-cancel" ).hasClass( "ui-btn" ), true );
83                         equal( $( ".ui-input-cancel" ).hasClass( "ui-btn-icon-cancel" ), true );
84
85                         /* Cancel button pressed. */
86                         $( "a.ui-btn-icon-cancel" ).trigger( "click" );
87                         notEqual( $( "div.ui-image-search" ).css( "display" ), "none" );
88                 }
89         } ;
90
91         test( "Searchbar", function ( ) {
92                 /* Initialize */
93                 searctbar_test( $('#searchInput'), {button : 'call', cancel : true} ) ;
94         } );
95
96 } );