add typeahead.js, fix #362
This commit is contained in:
66
test/unit/typeaheadjs.js
Normal file
66
test/unit/typeaheadjs.js
Normal file
@ -0,0 +1,66 @@
|
||||
$(function () {
|
||||
|
||||
module("typeaheadjs", {
|
||||
setup: function(){
|
||||
sfx = $('#qunit-fixture'),
|
||||
fx = $('#async-fixture');
|
||||
$.support.transition = false;
|
||||
}
|
||||
});
|
||||
|
||||
asyncTest("should load correct value and save new entered text ", function () {
|
||||
var v = 'ru',
|
||||
e = $('<a href="#" data-pk="1" data-name="text1" data-type="typeaheadjs" data-url="post.php"></a>').appendTo(fx).editable({
|
||||
value: v,
|
||||
typeahead: {
|
||||
name: 'country',
|
||||
local: [
|
||||
{value: 'ru', tokens: ['Russia']},
|
||||
{value: 'gb', tokens: ['Great Britain']},
|
||||
{value: 'us', tokens: ['United States']}
|
||||
],
|
||||
template: function(item) {
|
||||
return item.tokens[0] + ' (' + item.value + ')';
|
||||
}
|
||||
}
|
||||
}),
|
||||
nv = 'gb',
|
||||
newText = 'G';
|
||||
|
||||
equal(e.data().editable.value, v, 'initial value ok');
|
||||
|
||||
e.click();
|
||||
var p = tip(e),
|
||||
$input = p.find('input.tt-query');
|
||||
|
||||
ok(p.is(':visible'), 'popup visible');
|
||||
ok($input.length, 'input exists');
|
||||
equal($input.val(), v, 'input contains correct text');
|
||||
ok($input.typeahead, 'typeahead applied to input');
|
||||
|
||||
// can`t find way to trigger dropdown menu of typeahead
|
||||
var ev = jQuery.Event( "keydown.tt", { keyCode: 64 } );
|
||||
$input.val(nv).trigger('queryChanged');
|
||||
|
||||
/*
|
||||
ok(p.find('.tt-dropdown-menu').is(':visible'), 'dropdown visible');
|
||||
equal(p.find('tt-suggestion').length, 1, 'suggestion exists');
|
||||
p.find('tt-suggestion:eq(0)').mouseover().click();
|
||||
equal($input.val(), nv, 'input contain correct text');
|
||||
*/
|
||||
|
||||
p.find('form').submit();
|
||||
|
||||
|
||||
setTimeout(function() {
|
||||
ok(!p.is(':visible'), 'popup closed');
|
||||
equal(e.data('editable').value, nv, 'new text saved to value');
|
||||
equal(e.text(), nv, 'new text shown');
|
||||
|
||||
e.remove();
|
||||
start();
|
||||
}, timeout);
|
||||
});
|
||||
|
||||
|
||||
});
|
Reference in New Issue
Block a user