[infusion] FLUID-4576: Test case and fix to support function name as well as function for 'success' option. (#197)
Antranig Basman
antranig.basman at colorado.edu
Tue Jan 31 10:13:44 UTC 2012
Thanks for these improvements, anastasia -
i) the actual fix could still see some redundancy removed. Consider an implementation of the form beginning
fluid.each(["success", "error"], function (callbackName) { .....
ii) there are unnecessary calls to "makeCallbackFunction" in the tests as well as unnecessary expression of
the arguments - also the fluid.tests namespace whilst used only in tests will still eventually be subject to
congestion. Could you supply more meaningful names to "testSuccessFunction", "callbackFilenames" etc? Or
even remove them entirely by the same consideration applied in i).
A suitable way of expressing the tests might be as follows:
..... () {
var filenames = {
success: "Caching-test.html",
error: "Foofer.doodle"
};
var successCases = [{
name: "No success callback",
callback: null},{
name: "Literal success callback",
callback: fluid.tests.testSuccessFunction},{
name: "Named success callback",
callback: "fluid.tests.testSuccessFunction"]
}];
var errorCases = [{
name: "No error callback",
callback: null},{
name: "Literal error callback",
callback: fluid.tests.testErrorFunction},{
name: "Named error callback",
callback: "fluid.tests.testErrorFunction"
}];
fluid.each(successCases, function(scase), {
fluid.each(errorCases, function(ecase), {
fluid.tests.testFetchResourcesCallbacks("FLUID-4576: fetchResources callback with " +
scase.name + " and " + ecase.name, filenames, scase.callback, ecase.callback);
})
});
This would succeed in testing a lot more of the implementation surface with smaller and more readable test
case bulk. You can see examples of this kind of "structure-driven test case" for example in our Uploader
tests at
https://github.com/fluid-project/infusion/blob/master/src/webapp/tests/component-tests/uploader/js/UploaderTests.js#L435-572
JavaScript is a great environment for writing test cases!
Thanks,
Antranig
On 23/01/2012 12:02, Anastasia Cheetham wrote:
> @amb26, I've added support for the "error" callback and refactored the tests to remove code duplication. Please have a look, and let me know what else I can do to improve things.
>
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/fluid-project/infusion/pull/197#issuecomment-3619567
More information about the fluid-work
mailing list