display option ready

This commit is contained in:
vitalets
2012-12-06 00:33:07 +04:00
parent 212d161f08
commit 8ed61d6b6b
14 changed files with 203 additions and 128 deletions

@ -4,21 +4,28 @@ $(function () {
setup: function(){
sfx = $('#qunit-fixture'),
fx = $('#async-fixture');
$.support.transition = false;
}
});
asyncTest("should load options, set correct value and save new value", function () {
var sep = '-',
var sep = '<br>',
newValue,
e = $('<a href="#" data-type="checklist" data-url="post.php"></a>').appendTo(fx).editable({
e = $('<a href="#" data-type="checklist" data-url="post-checklist.php"></a>').appendTo(fx).editable({
pk: 1,
source: groupsArr,
value: [2, 3],
viewseparator: sep
value: [2, 3]
});
equal(e.text(), groups[2]+sep+groups[3], 'autotext ok');
equal(e.html(), groups[2]+sep+groups[3], 'autotext ok');
$.mockjax({
url: 'post-checklist.php',
response: function(settings) {
ok($.isArray(settings.data.value), 'value submitted as array');
equal(settings.data.value.sort().join(''), [newValue, 3].join(''), 'submitted array correct');
}
});
e.click();
var p = tip(e);
@ -28,8 +35,8 @@ $(function () {
equal(p.find('input[type="checkbox"]:checked').eq(1).val(), 3, '2nd checked');
//set new value
p.find('input[type="checkbox"]:checked').eq(0).click();
p.find('input[type="checkbox"]').first().click();
p.find('input[type="checkbox"]:checked').eq(0).click(); //uncheck 2
p.find('input[type="checkbox"]').first().click(); //check first
newValue = p.find('input[type="checkbox"]').first().val();
//submit
@ -39,7 +46,7 @@ $(function () {
ok(!p.is(':visible'), 'popup closed');
equal(e.data('editable').value.join(''), [newValue, 3].join(''), 'new value ok')
equal(e.text(), groups[newValue]+sep+groups[3], 'new text ok');
equal(e.html(), groups[newValue]+'<br>'+groups[3], 'new text ok');
// open container again to see what checked
e.click()
@ -54,40 +61,5 @@ $(function () {
start();
}, timeout);
});
asyncTest("limit option", function () {
var e = $('<a href="#" data-type="checklist" data-value="2,3" data-url="post.php"></a>').appendTo(fx).editable({
pk: 1,
source: groupsArr,
limit: 1,
limitText: '{checked} of {count}'
});
equal(e.text(), '2 of '+groupsArr.length, 'autotext ok');
e.click();
var p = tip(e);
equal(p.find('input[type="checkbox"]:checked').length, 2, 'checked count ok');
equal(p.find('input[type="checkbox"]:checked').eq(0).val(), 2, '1st checked');
equal(p.find('input[type="checkbox"]:checked').eq(1).val(), 3, '2nd checked');
//set new value
p.find('input[type="checkbox"]').first().click();
newValue = p.find('input[type="checkbox"]').first().val();
//submit
p.find('form').submit();
setTimeout(function() {
ok(!p.is(':visible'), 'popup closed');
equal(e.text(), '3 of '+groupsArr.length, 'autotext ok');
e.remove();
start();
}, timeout);
});
});