This repository has been archived by the owner on Oct 8, 2021. It is now read-only.
/
filterable_core.js
64 lines (45 loc) · 1.87 KB
/
filterable_core.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
* mobile filter unit tests - listview
*/
( function( $ ){
module( "Filterable tests" );
asyncTest( "filterReveal filterable shows all items when all items match filter text", function() {
var input = $( "#test-filter-reveal-show-all-input" ),
list = $( "#test-filter-reveal-show-all-list" );
expect( 1 );
input.val( "Test" ).trigger( "change" );
setTimeout( function() {
deepEqual( list.children( ".ui-screen-hidden" ).length, 0,
"All items visible when search value matches them all" );
start();
}, 500 );
});
module( "Backwards compatibility tests" );
test( "Listview with filter has hideDividers option set to true", function() {
deepEqual( $( "#hidedividers-option-test" ).listview( "option", "hideDividers" ), true );
});
test( "Filterable input prevents default on ENTER", function() {
var event = $.Event( "keydown" ),
input = $( "#test-input-preventDefault" );
event.keyCode = $.ui.keyCode.ENTER;
input.trigger( event );
deepEqual( event.isDefaultPrevented(), true, "keydown for ENTER default is prevented" );
event = $.Event( "keypress" );
input.trigger( event );
deepEqual( event.isDefaultPrevented(), true, "Subsequent keypress default is also prevented" );
});
asyncTest( "Working filterable is instantiated on dynamic listview when data-filter='true'", function() {
var list = $( "<ul data-nstest-filter='true'><li>Chicago</li><li>Berlin</li><li>Windsor</li></ul>" )
.appendTo( "#content" )
.listview(),
input = list.prev().find( "input" );
expect( 3 );
deepEqual( !!list.data( "mobile-filterable" ), true, "Filterable widget is present on listview" );
input.val( "o" ).trigger( "change" );
setTimeout( function() {
deepEqual( list.children( ".ui-screen-hidden" ).length, 1, "One child was hidden" );
deepEqual( list.children( ".ui-screen-hidden" ).text(), "Berlin", "'Berlin' was hidden" );
start();
}, 500 );
});
})( jQuery );