params as function overwrite original data instead of append
This commit is contained in:
@ -444,6 +444,81 @@
|
||||
e.remove();
|
||||
start();
|
||||
}, timeout);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
asyncTest("should submit all required params", function () {
|
||||
var e = $('<a href="#" data-pk="1" data-url="post-resp.php">abc</a>').appendTo(fx).editable({
|
||||
name: 'username',
|
||||
params: {
|
||||
q: 2
|
||||
},
|
||||
ajaxOptions: {
|
||||
dataType: 'json'
|
||||
},
|
||||
success: function(resp) {
|
||||
equal(resp.dataType, 'json', 'dataType ok');
|
||||
equal(resp.data.pk, 1, 'pk ok');
|
||||
equal(resp.data.name, 'username', 'name ok');
|
||||
equal(resp.data.value, newText, 'value ok');
|
||||
equal(resp.data.q, 2, 'additional params ok');
|
||||
}
|
||||
}),
|
||||
newText = 'cd<e>;"'
|
||||
|
||||
e.click()
|
||||
var p = tip(e);
|
||||
|
||||
ok(p.find('input[type=text]').length, 'input exists')
|
||||
p.find('input').val(newText);
|
||||
p.find('form').submit();
|
||||
|
||||
setTimeout(function() {
|
||||
e.remove();
|
||||
start();
|
||||
}, timeout);
|
||||
|
||||
});
|
||||
|
||||
asyncTest("params as function", function () {
|
||||
var e = $('<a href="#" data-pk="1" data-url="post-params-func.php">abc</a>').appendTo(fx).editable({
|
||||
name: 'username',
|
||||
params: function(params) {
|
||||
ok(this === e[0], 'scope is ok');
|
||||
equal(params.pk, 1, 'params in func already have values (pk)');
|
||||
return $.extend(params, {q: 2, pk: 3});
|
||||
},
|
||||
ajaxOptions: {
|
||||
headers: {"myHeader": "123"}
|
||||
}
|
||||
}),
|
||||
newText = 'cd<e>;"'
|
||||
|
||||
$.mockjax({
|
||||
url: 'post-params-func.php',
|
||||
response: function(settings) {
|
||||
equal(settings.dataType, undefined, 'dataType undefined (correct)');
|
||||
equal(settings.data.pk, 3, 'pk ok');
|
||||
equal(settings.data.name, 'username', 'name ok');
|
||||
equal(settings.data.value, newText, 'value ok');
|
||||
equal(settings.data.q, 2, 'additional params ok');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
e.click()
|
||||
var p = tip(e);
|
||||
|
||||
ok(p.find('input[type=text]').length, 'input exists')
|
||||
p.find('input').val(newText);
|
||||
p.find('form').submit();
|
||||
|
||||
setTimeout(function() {
|
||||
e.remove();
|
||||
start();
|
||||
}, timeout);
|
||||
|
||||
});
|
||||
|
||||
|
||||
}(jQuery));
|
@ -211,79 +211,6 @@ $(function () {
|
||||
|
||||
});
|
||||
|
||||
|
||||
asyncTest("should submit all required params", function () {
|
||||
var e = $('<a href="#" data-pk="1" data-url="post-resp.php">abc</a>').appendTo(fx).editable({
|
||||
name: 'username',
|
||||
params: {
|
||||
q: 2
|
||||
},
|
||||
ajaxOptions: {
|
||||
dataType: 'json'
|
||||
},
|
||||
success: function(resp) {
|
||||
equal(resp.dataType, 'json', 'dataType ok');
|
||||
equal(resp.data.pk, 1, 'pk ok');
|
||||
equal(resp.data.name, 'username', 'name ok');
|
||||
equal(resp.data.value, newText, 'value ok');
|
||||
equal(resp.data.q, 2, 'additional params ok');
|
||||
}
|
||||
}),
|
||||
newText = 'cd<e>;"'
|
||||
|
||||
e.click()
|
||||
var p = tip(e);
|
||||
|
||||
ok(p.find('input[type=text]').length, 'input exists')
|
||||
p.find('input').val(newText);
|
||||
p.find('form').submit();
|
||||
|
||||
setTimeout(function() {
|
||||
e.remove();
|
||||
start();
|
||||
}, timeout);
|
||||
|
||||
});
|
||||
|
||||
asyncTest("params as function", function () {
|
||||
var e = $('<a href="#" data-pk="1" data-url="post-params-func.php">abc</a>').appendTo(fx).editable({
|
||||
name: 'username',
|
||||
params: function(params) {
|
||||
ok(this === e[0], 'scope is ok');
|
||||
equal(params.pk, 1, 'params in func already have values (pk)');
|
||||
return { q: 2, pk: 3 };
|
||||
},
|
||||
ajaxOptions: {
|
||||
headers: {"myHeader": "123"}
|
||||
}
|
||||
}),
|
||||
newText = 'cd<e>;"'
|
||||
|
||||
$.mockjax({
|
||||
url: 'post-params-func.php',
|
||||
response: function(settings) {
|
||||
equal(settings.dataType, undefined, 'dataType undefined (correct)');
|
||||
equal(settings.data.pk, 3, 'pk ok');
|
||||
equal(settings.data.name, 'username', 'name ok');
|
||||
equal(settings.data.value, newText, 'value ok');
|
||||
equal(settings.data.q, 2, 'additional params ok');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
e.click()
|
||||
var p = tip(e);
|
||||
|
||||
ok(p.find('input[type=text]').length, 'input exists')
|
||||
p.find('input').val(newText);
|
||||
p.find('form').submit();
|
||||
|
||||
setTimeout(function() {
|
||||
e.remove();
|
||||
start();
|
||||
}, timeout);
|
||||
|
||||
});
|
||||
|
||||
asyncTest("ajaxOptions", function () {
|
||||
var e = $('<a href="#" data-pk="1" data-url="post-options.php">abc</a>').appendTo(fx).editable({
|
||||
|
Reference in New Issue
Block a user