UnitTC: Additional unit testcases have been added
[platform/framework/web/web-ui-fw.git] / tests / additional-unit-tests / tokentextarea / tokentextarea-tests.js
1 /*
2  * Unit Test : tokentextarea
3  *
4  * Kangsik Kim <kangsik81.kim@samsung.com>
5  * Minkyeong Kim <minkyeong.kim@samsung.com>
6  */
7 /*jslint browser: true*/
8 /*global $, jQuery, test, equal, ok*/
9 ( function ( $ ) {
10         module( "Tokentextarea" );
11
12         var unit_tokentextarea = function ( widget, type, options ) {
13                 var tokentextarea,
14                         inputText,
15                         outputText,
16                         status,
17                         selectEvent = false ,
18                         addEvent = false,
19                         removeEvent = false;
20
21                 /* Create */
22                 tokentextarea = widget.tokentextarea( );
23                 ok( tokentextarea.length > 0, "Create" );
24
25                 /*markup*/
26                 equal( widget.jqmData('label'), options.lable, 'Property : data-label') ;
27                 equal( widget.find('label.ui-tokentextarea-label').html( ), options.lable, 'Property : data-label') ;
28                 equal( widget.jqmData('description'), options.description, 'Property : data-description') ;
29                 equal( widget.jqmData('link'), options.link, 'Property : data-link') ;
30                 equal( widget.find( "input" ).hasClass('ui-tokentextarea-input'), true, "Markup Check" );
31                 equal( widget.find( "label" ).hasClass('ui-tokentextarea-label'), true, "Markup Check" );
32                 equal( widget.find( "a" ).hasClass('ui-tokentextarea-link-base'), true, "Markup Check" );
33                 equal( widget.find( "a" ).attr('href'), '#address', "Markup Check" );
34
35                 /*bind events*/
36                 tokentextarea.bind('select', function ( ) {
37                         selectEvent = true ;
38                 } ) ;
39                 tokentextarea.bind('add', function ( ) {
40                         addEvent = true ;
41                 } ) ;
42                 tokentextarea.bind('remove', function ( ) {
43                         removeEvent = true ;
44                 } ) ;
45
46                 /* length */
47                 equal( tokentextarea.tokentextarea( "length" ), 0, "API : length" );
48
49                 /* Add */
50                 tokentextarea.tokentextarea( "add", "string1" );
51                 //equal( addEvent, true, "Event : add" ) ;
52                 equal( tokentextarea.tokentextarea( "length" ), 1, "API : add('string1')" );
53                 tokentextarea.tokentextarea( "add", "string2" );
54                 equal( tokentextarea.tokentextarea( "length" ), 2, "API : add('string2')" );
55                 tokentextarea.tokentextarea( "add", "string3" );
56                 equal( tokentextarea.tokentextarea( "length" ), 3, "API : add('string3')" );
57                 equal( widget.find(".ui-tokentextarea-block" ).length, 3, 'API : count number of elements after add') ;
58
59
60                 /* Select */
61                 tokentextarea.tokentextarea( "select", 1 );
62                 //equal( selectEvent, true, "Event : select" ) ;
63                 outputText = tokentextarea.tokentextarea( "select" );
64                 equal( outputText, "string2", "API : select( 1 )" );
65
66                 /* Focus Out */
67                 tokentextarea.tokentextarea( "focusOut" );
68                 status = tokentextarea.hasClass( "ui-tokentextarea-focusout" );
69                 equal( status, true, "API : focusOut" );
70
71                 /* Focus In */
72                 tokentextarea.tokentextarea( "focusIn" );
73                 status = tokentextarea.hasClass( "ui-tokentextarea-focusin" );
74                 equal( status, true, "API : focusIn" );
75
76                 /* Remove */
77                 tokentextarea.tokentextarea( "remove", 0 );
78                 //equal( removeEvent, true, "Event : remove" ) ;
79                 equal( tokentextarea.tokentextarea( "length" ), 2 , "API : remove( 0 )" );
80                 equal( widget.find(".ui-tokentextarea-block" ).length, 2, 'API : API : remove( 0 )') ;
81
82                 /* Reamove all */
83                 tokentextarea.tokentextarea( "remove" );
84                 equal( tokentextarea.tokentextarea( "length" ), 0, "API : remove" );
85                 equal( widget.find(".ui-tokentextarea-block" ).length, 0, 'API : API : remove all') ;
86
87                 /* input */
88                 inputText = "tokentextarea";
89                 tokentextarea.tokentextarea( "inputText", inputText );
90                 outputText = tokentextarea.tokentextarea( "inputText" );
91                 equal( outputText, inputText, "API : input('" + outputText + "')" );
92         };
93
94         test( "Tokentextarea", function ( ) {
95                 unit_tokentextarea( $( "#tokentextarea-test" ), "tokentextarea", { lable : 'To:', description : "description123", link : '#address' } );
96         } );
97
98 } ( jQuery ) );