You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2013/02/12 04:15:59 UTC
[7/11] spec commit: [CB-2213] Added specific expected error checking.
[CB-2213] Added specific expected error checking.
Also did some refactoring.
Project: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/commit/a745736f
Tree: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/tree/a745736f
Diff: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/diff/a745736f
Branch: refs/heads/master
Commit: a745736fc5545d2659a2e404019fe5151b1a27f6
Parents: c5311ea
Author: Max Woghiren <ma...@gmail.com>
Authored: Fri Jan 18 15:01:14 2013 -0500
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Mon Feb 11 21:19:34 2013 -0500
----------------------------------------------------------------------
camera/index.html | 102 ++++++++++++++++++++++++++++--------------------
1 files changed, 60 insertions(+), 42 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/blob/a745736f/camera/index.html
----------------------------------------------------------------------
diff --git a/camera/index.html b/camera/index.html
index aef0b14..fd3c6d0 100644
--- a/camera/index.html
+++ b/camera/index.html
@@ -37,6 +37,11 @@
//-------------------------------------------------------------------------
// Camera
//-------------------------------------------------------------------------
+ var onGetPictureError = function(e) {
+ console.log("Error getting picture: " + e.code);
+ document.getElementById('camera_status').innerHTML += "<b>Error</b> getting picture: " + e.code + "<br />";
+ };
+
function showPicture(url, callback) {
var img = document.getElementById('camera_image');
@@ -109,36 +114,40 @@
document.getElementById('camera_status').innerHTML += "FileEntry.getMetadata <b>success</b>: modificationTime = " + metadata.modificationTime + "<br />";
};
+ var onGetMetadataError = function(e) {
+ handleUnexpectedError("FileEntry.getMetadata", e.code);
+ };
+
var onMetadataSet = function() {
- document.getElementById('camera_status').innerHTML += "FileEntry.setMetadata <b>error</b>: setMetadata succeeded when it should fail<br />";
+ handleUnexpectedSuccess("FileEntry.setMetadata");
};
- var onMetadataSetError = function(e) {
- document.getElementById('camera_status').innerHTML += "FileEntry.setMetadata <b>success</b> (failed as expected): " + e.code + "<br />"
+ var onSetMetadataError = function(e) {
+ checkForExpectedError("FileEntry.setMetadata", undefined, e.code);
};
var onFileEntryRemoved = function() {
- document.getElementById('camera_status').innerHTML += "FileEntry.remove <b>error</b>: remove succeeded when it should fail<br />";
+ handleUnexpectedSuccess("FileEntry.remove");
};
var onFileEntryRemoveError = function(e) {
- document.getElementById('camera_status').innerHTML += "FileEntry.remove <b>success</b> (failed as expected): " + e.code + "<br />"
+ checkForExpectedError("FileEntry.remove", FileError.INVALID_MODIFICATION_ERR, e.code);
};
var onParentReceived = function() {
- document.getElementById('camera_status').innerHTML += "FileEntry.getParent <b>error</b>: getParent succeeded when it should fail<br />";
+ handleUnexpectedSuccess("FileEntry.getParent");
};
var onGetParentError = function(e) {
- document.getElementById('camera_status').innerHTML += "FileEntry.getParent <b>success</b> (failed as expected): " + e.code + "<br />"
+ checkForExpectedError("FileEntry.getParent", FileError.NOT_READABLE_ERR, e.code);
};
var onFileReadAsText = function(evt) {
- document.getElementById('camera_status').innerHTML += "FileReader.readAsText <b>error</b>: readAsText succeeded when it should fail: " + evt.target.result + "<br />";
+ handleUnexpectedSuccess("FileReader.readAsText");
};
var onFileReadAsTextError = function(evt) {
- document.getElementById('camera_status').innerHTML += "FileReader.readAsText <b>success</b> (failed as expected): " + evt.target.error.code + "<br />"
+ checkForExpectedError("FileReader.readAsText", FileError.NOT_READABLE_ERR, e.code);
};
var onFileReadAsDataURL = function(evt) {
@@ -167,9 +176,8 @@
dataUrlReader.readAsDataURL(file);
};
- var onError = function(e) {
- console.log("Error getting picture: " + e.code);
- document.getElementById('camera_status').innerHTML += "<b>Error</b> getting picture: " + e.code + "<br />";
+ var onGetFileError = function(e) {
+ handleUnexpectedError("FileEntry.file", e.code);
};
clearStatus();
@@ -178,13 +186,13 @@
var fileEntry = new FileEntry('image_name.png', data);
// Test FileEntry API here.
- fileEntry.getMetadata(onMetadataReceived, onError);
- fileEntry.setMetadata(onMetadataSet, onMetadataSetError, { "com.apple.MobileBackup": 1 });
+ fileEntry.getMetadata(onMetadataReceived, onGetMetadataError);
+ fileEntry.setMetadata(onMetadataSet, onSetMetadataError, { "com.apple.MobileBackup": 1 });
fileEntry.remove(onFileEntryRemoved, onFileEntryRemoveError);
fileEntry.getParent(onParentReceived, onGetParentError);
- fileEntry.file(onFileReceived, onError);
+ fileEntry.file(onFileReceived, onGetFileError);
},
- onError,
+ onGetPictureError,
{ quality: 50, destinationType:
Camera.DestinationType.NATIVE_URI, sourceType: Camera.PictureSourceType.PHOTOLIBRARY});
};
@@ -236,11 +244,11 @@
function copyImageUsingNativeUri() {
var onFileMoved = function(fileEntry) {
- document.getElementById('camera_status').innerHTML += "FileEntry.moveTo <b>error</b>: moveTo succeeded when it should fail<br />";
+ handleUnexpectedSuccess("FileEntry.moveTo");
};
var onFileMoveError = function(e) {
- document.getElementById('camera_status').innerHTML += "FileEntry.moveTo <b>success</b> (failed as expected): " + e.code + "<br />"
+ checkForExpectedError("FileEntry.moveTo", FileError.INVALID_MODIFICATION_ERR, e.code);
};
var onFileCopied = function(fileEntry) {
@@ -248,12 +256,7 @@
};
var onFileCopyError = function(e) {
- document.getElementById('camera_status').innerHTML += "FileEntry.copyTo <b>error</b>: " + e.code + "<br />";
- };
-
- var onError = function(e) {
- console.log("Error getting picture: " + e.code);
- document.getElementById('camera_status').innerHTML += "<b>Error</b> getting picture: " + e.code + "<br />";
+ handleUnexpectedError("FileEntry.copyTo", e.code);
};
var onFileSystemReceived = function(fileSystem) {
@@ -266,7 +269,7 @@
fileEntry.moveTo(destDirEntry, 'moved_file.png', onFileMoved, onFileMoveError);
fileEntry.copyTo(destDirEntry, 'copied_file.png', onFileCopied, onFileCopyError);
},
- onError,
+ onGetPictureError,
{ quality: 50, destinationType:
Camera.DestinationType.NATIVE_URI, sourceType: Camera.PictureSourceType.PHOTOLIBRARY});
};
@@ -277,36 +280,35 @@
function writeImageUsingNativeUri() {
var onFileWrite = function(evt) {
- document.getElementById('camera_status').innerHTML += "FileWriter.write <b>error</b>: write succeeded when it should fail<br />"
+ handleUnexpectedSuccess("FileWriter.write");
};
var onFileWriteError = function(evt) {
- document.getElementById('camera_status').innerHTML += "FileWriter.write <b>success</b> (failed as expected): " + evt.target.error.code + "<br />"
+ checkForExpectedError("FileWriter.write", FileError.NO_MODIFICATION_ALLOWED_ERR, evt.target.error.code);
};
var onFileTruncate = function(evt) {
- document.getElementById('camera_status').innerHTML += "FileWriter.truncate <b>error</b>: truncate succeeded when it should fail<br />"
+ handleUnexpectedSuccess("FileWriter.truncate");
};
var onFileTruncateError = function(evt) {
- document.getElementById('camera_status').innerHTML += "FileWriter.truncate <b>success</b> (failed as expected): " + evt.target.error.code + "<br />"
+ checkForExpectedError("FileWriter.truncate", FileError.NO_MODIFICATION_ALLOWED_ERR, evt.target.error.code);
};
var onFileWriterReceived = function(fileWriter) {
- fileWriter.onwrite = onFileWrite;
- fileWriter.onerror = onFileWriteError;
- fileWriter.write("some text!");
+ fileWriter.onwrite = onFileWrite;
+ fileWriter.onerror = onFileWriteError;
+ fileWriter.write("some text!");
};
var onFileTruncateWriterReceived = function(fileWriter) {
- fileWriter.onwrite = onFileTruncate;
- fileWriter.onerror = onFileTruncateError;
- fileWriter.truncate(10);
+ fileWriter.onwrite = onFileTruncate;
+ fileWriter.onerror = onFileTruncateError;
+ fileWriter.truncate(10);
};
- var onError = function(e) {
- console.log("Error getting picture: " + e.code);
- document.getElementById('camera_status').innerHTML += "<b>Error</b> getting picture: " + e.code + "<br />";
+ var onCreateWriterError = function(e) {
+ handleUnexpectedError("FileEntry.createWriter", e.code);
};
clearStatus();
@@ -315,18 +317,34 @@
var fileEntry = new FileEntry('image_name.png', data);
// Test FileEntry API here.
- fileEntry.createWriter(onFileWriterReceived, onError);
- fileEntry.createWriter(onFileTruncateWriterReceived, onError);
+ fileEntry.createWriter(onFileWriterReceived, onCreateWriterError);
+ fileEntry.createWriter(onFileTruncateWriterReceived, onCreateWriterError);
},
- onError,
+ onGetPictureError,
{ quality: 50, destinationType:
Camera.DestinationType.NATIVE_URI, sourceType: Camera.PictureSourceType.PHOTOLIBRARY});
};
+ function handleUnexpectedError(methodName, errorCode) {
+ document.getElementById('camera_status').innerHTML += "" + methodName + " <b>error</b> (code: " + errorCode + ").<br />";
+ };
+
+ function handleUnexpectedSuccess(methodName) {
+ document.getElementById('camera_status').innerHTML += "" + methodName + " <b>failure</b> (remove succeeded when it should fail).<br />";
+ };
+
+ function checkForExpectedError(methodName, expectedErrorCode, actualErrorCode) {
+ if (actualErrorCode == expectedErrorCode) {
+ document.getElementById('camera_status').innerHTML += "" + methodName + " <b>success</b> (failed as expected, with error code " + actualErrorCode + ").<br />";
+ } else {
+ document.getElementById('camera_status').innerHTML += "" + methodName + " <b>failure</b> (failed as expected, but with error code " + actualErrorCode + " instead of " + expectedErrorCode + ").<br />";
+ }
+ };
+
function clearStatus() {
document.getElementById('camera_status').innerHTML = "";
document.getElementById('camera_image').style.visibility = "hidden";
- }
+ };
/**
* Function called when page has finished loading.