- From: Garrett Smith <dhtmlkitchen@gmail.com>
- Date: Fri, 14 Aug 2009 11:44:22 -0700
- To: arun@mozilla.com
- Cc: WebApps WG <public-webapps@w3.org>
On Wed, Aug 12, 2009 at 6:52 AM, Arun Ranganathan<arun@mozilla.com> wrote:
> Garrett Smith wrote:
>>
>> In glancing at some of the methods in FileAPI, I noticed some coding
>> errors.
>
>>
>> The "status code" and a "getData" method could be designed as
>> properties of one object.
>>
Replace the callback's parameter list with a whole object.
function handleURL(ev) {
if(ev.hasError) {
handleError(ev);
} else {
handleSuccess(ev);
}
}
function handleError(ev) {
var error = ev.error;
// etc.
}
function handleSuccess(ev) {
var data = ev.getData();
// etc.
}
>
> I'm not sure I understand. Which object do you mean here?
>>
>> |// (GS) What is the second parameter "error"?
>> | function handleURL(fileAsDataURL, error)
>> |
>
> This is the FileError object, used as an argument on the callback to report
> errors.
>>
>> | // (GS) best to keep this on local Variable object,
>> | // not assigning to window.status.
>>
>
> Good catch -- thank you :-)
>
You can run it through JS Lint or use a proper IDE and it will catch
the errors. JS Lint is noisy and will report "Problems" like:-
| The body of a for in should be wrapped in an
| if statement to filter unwanted properties
| from the prototype.
You could try testing it. This would require a test framework that can
handle async firing. Then create a mock object that calls the callback
asyncrhonously. That object can be designed configurable to throw
errors, so that the the mock object throwin errors can facilitate
testing the error conditions.
> -- A*
>
>
Received on Friday, 14 August 2009 18:45:03 UTC