Export 0.2.3
[platform/framework/web/web-ui-fw.git] / tests / unit-tests / searchbar / searchbar-tests.js
1 /*
2  * Unit Test: Searchbar list
3  *
4  * Wongi Lee <wongi11.lee@samsung.com>
5  */
6
7 $( document ).ready( function () {
8
9         module( "Searchbar" );
10
11         // trigger pagecreate
12         $( "#searchbar-unit-test" ).page();
13
14         asyncTest( "Searchbar", function () {
15                 /* Initialize */
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                 /* enable */
36                 $( "#searchInput" ).searchbar( "enable" );
37                 equal( $( "#searchbar-unit-test div.ui-input-search" ).hasClass( "ui-disabled" ), false, "enable" );
38                 equal( $( "#searchInput" ).attr( "disabled" ), undefined );
39
40                 /* Event */
41                 /* Search : Input and trigger change */
42                 $input.focus();
43                 equal( $( "div.ui-image-search" ).css( "display" ), "block", "Input and trigger change" );
44
45                 $input.val( "a" ).trigger( "change" );
46
47                 $input.val( "are" ).trigger( "change" );
48                 equal( $("#searchbar-content p").filter( function ( index ) {
49                         return $( this ).css( "display" ) != "none";
50                 } ).length, 1 );
51
52                 /* Clear button pressed. */
53                 $( "a.ui-input-clear" ).trigger( "click" );
54                 equal( $("#searchbar-content p").filter( function ( index ) {
55                         return $( this ).css( "display" ) != "none";
56                 } ).length, 30 );
57
58                 equal( $divSearchbar.find( "div.ui-input-search a.ui-input-clear" ).hasClass( "ui-input-clear-hidden" ), true, "Clear button pressed" );
59
60                 /* Button test */
61                 equal( $( ".ui-btn" ).hasClass( "ui-btn" ), true );
62                 equal( $divSearchbar.find( "> .ui-btn" ).jqmData("icon"), "call" );
63
64                 /* Cancel test*/
65                 equal( $( ".ui-input-cancel" ).hasClass( "ui-btn" ), true );
66                 equal( $( ".ui-input-cancel" ).hasClass( "ui-btn-icon-cancel" ), true );
67
68                 equal( $( ".ui-input-cancel" ).hasClass( "ui-btn" ), true );
69                 equal( $( ".ui-input-cancel" ).hasClass( "ui-btn-icon-cancel" ), true );
70
71                 /* Cancel button pressed. */
72                 $( "a.ui-btn-icon-cancel" ).trigger( "click" );
73                 notEqual( $( "div.ui-image-search" ).css( "display" ), "none" );
74
75                 start();
76         } );
77 } );