forked from public/cordova-plugin-camera
CB-10636 Add JSHint for plugins
This commit is contained in:
+27
-24
@@ -19,6 +19,9 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/* globals Camera, resolveLocalFileSystemURI, FileEntry, CameraPopoverOptions, FileTransfer, FileUploadOptions, LocalFileSystem, MSApp */
|
||||
/* jshint jasmine: true */
|
||||
|
||||
exports.defineAutoTests = function () {
|
||||
describe('Camera (navigator.camera)', function () {
|
||||
it("should exist", function () {
|
||||
@@ -78,7 +81,6 @@ exports.defineAutoTests = function () {
|
||||
/******************************************************************************/
|
||||
|
||||
exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
var platformId = cordova.require('cordova/platform').id;
|
||||
var pictureUrl = null;
|
||||
var fileObj = null;
|
||||
var fileEntry = null;
|
||||
@@ -94,11 +96,6 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
var camCorrectOrientationDefault = ['correctOrientation', false];
|
||||
var camSaveToPhotoAlbumDefault = ['saveToPhotoAlbum', true];
|
||||
|
||||
var clearLog = function () {
|
||||
var log = document.getElementById('info');
|
||||
log.innerHTML = "";
|
||||
}
|
||||
|
||||
function log(value) {
|
||||
console.log(value);
|
||||
document.getElementById('camera_status').textContent += (new Date() - pageStartTime) / 1000 + ': ' + value + '\n';
|
||||
@@ -130,7 +127,9 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
img.src = url;
|
||||
img.onloadend = function () {
|
||||
log('Image tag load time: ' + (new Date() - startTime));
|
||||
callback && callback();
|
||||
if (callback) {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -141,13 +140,13 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
function getPictureWin(data) {
|
||||
setPicture(data);
|
||||
// TODO: Fix resolveLocalFileSystemURI to work with native-uri.
|
||||
if (pictureUrl.indexOf('file:') == 0 || pictureUrl.indexOf('content:') == 0 || pictureUrl.indexOf('ms-appdata:') === 0 || pictureUrl.indexOf('assets-library:') === 0) {
|
||||
if (pictureUrl.indexOf('file:') === 0 || pictureUrl.indexOf('content:') === 0 || pictureUrl.indexOf('ms-appdata:') === 0 || pictureUrl.indexOf('assets-library:') === 0) {
|
||||
resolveLocalFileSystemURI(data, function (e) {
|
||||
fileEntry = e;
|
||||
logCallback('resolveLocalFileSystemURI()', true)(e.toURL());
|
||||
readFile();
|
||||
}, logCallback('resolveLocalFileSystemURI()', false));
|
||||
} else if (pictureUrl.indexOf('data:image/jpeg;base64') == 0) {
|
||||
} else if (pictureUrl.indexOf('data:image/jpeg;base64') === 0) {
|
||||
// do nothing
|
||||
} else {
|
||||
var path = pictureUrl.replace(/^file:\/\/(localhost)?/, '').replace(/%20/g, ' ');
|
||||
@@ -165,13 +164,11 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
window.onorientationchange = function () {
|
||||
var newPopoverOptions = new CameraPopoverOptions(0, 0, 100, 100, 0);
|
||||
popoverHandle.setPosition(newPopoverOptions);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function uploadImage() {
|
||||
var ft = new FileTransfer(),
|
||||
uploadcomplete = 0,
|
||||
progress = 0,
|
||||
options = new FileUploadOptions();
|
||||
options.fileKey = "photo";
|
||||
options.fileName = 'test.jpg';
|
||||
@@ -207,7 +204,7 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
img.style.display = "block";
|
||||
img.src = evt.target.result;
|
||||
log("FileReader.readAsDataURL success");
|
||||
};
|
||||
}
|
||||
|
||||
function onFileReceived(file) {
|
||||
log('Got file: ' + JSON.stringify(file));
|
||||
@@ -220,7 +217,8 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
reader.onerror = logCallback('FileReader.readAsDataURL', false);
|
||||
reader.onloadend = onFileReadAsDataURL;
|
||||
reader.readAsDataURL(file);
|
||||
};
|
||||
}
|
||||
|
||||
// Test out onFileReceived when the file object was set via a native <input> elements.
|
||||
if (fileObj) {
|
||||
onFileReceived(fileObj);
|
||||
@@ -228,13 +226,14 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
fileEntry.file(onFileReceived, logCallback('FileEntry.file', false));
|
||||
}
|
||||
}
|
||||
|
||||
function getFileInfo() {
|
||||
// Test FileEntry API here.
|
||||
fileEntry.getMetadata(logCallback('FileEntry.getMetadata', true), logCallback('FileEntry.getMetadata', false));
|
||||
fileEntry.setMetadata(logCallback('FileEntry.setMetadata', true), logCallback('FileEntry.setMetadata', false), { "com.apple.MobileBackup": 1 });
|
||||
fileEntry.getParent(logCallback('FileEntry.getParent', true), logCallback('FileEntry.getParent', false));
|
||||
fileEntry.getParent(logCallback('FileEntry.getParent', true), logCallback('FileEntry.getParent', false));
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy image from library using a NATIVE_URI destination type
|
||||
@@ -268,7 +267,7 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
};
|
||||
|
||||
window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, onFileSystemReceived, null);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Write image to library using a NATIVE_URI destination type
|
||||
@@ -289,7 +288,7 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
|
||||
fileEntry.createWriter(onFileWriterReceived, logCallback('FileEntry.createWriter', false));
|
||||
fileEntry.createWriter(onFileTruncateWriterReceived, null);
|
||||
};
|
||||
}
|
||||
|
||||
function displayImageUsingCanvas() {
|
||||
var canvas = document.getElementById('canvas');
|
||||
@@ -302,7 +301,7 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
canvas.height = h;
|
||||
var context = canvas.getContext('2d');
|
||||
context.drawImage(img, 0, 0, w, h);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove image from library using a NATIVE_URI destination type
|
||||
@@ -310,7 +309,7 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
*/
|
||||
function removeImage() {
|
||||
fileEntry.remove(logCallback('FileEntry.remove', true), logCallback('FileEntry.remove', false));
|
||||
};
|
||||
}
|
||||
|
||||
function testInputTag(inputEl) {
|
||||
clearStatus();
|
||||
@@ -319,7 +318,7 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
window.setTimeout(function () {
|
||||
testNativeFile2(inputEl);
|
||||
}, 0);
|
||||
};
|
||||
}
|
||||
|
||||
function testNativeFile2(inputEl) {
|
||||
if (!inputEl.value) {
|
||||
@@ -349,15 +348,19 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
function extractOptions() {
|
||||
var els = document.querySelectorAll('#image-options select');
|
||||
var ret = {};
|
||||
/*jshint -W084 */
|
||||
for (var i = 0, el; el = els[i]; ++i) {
|
||||
var value = el.value;
|
||||
if (value === '') continue;
|
||||
value = +value;
|
||||
|
||||
if (el.isBool) {
|
||||
ret[el.getAttribute("name")] = !!+value;
|
||||
ret[el.getAttribute("name")] = !!value;
|
||||
} else {
|
||||
ret[el.getAttribute("name")] = +value;
|
||||
ret[el.getAttribute("name")] = value;
|
||||
}
|
||||
}
|
||||
/*jshint +W084 */
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -366,7 +369,7 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
var select = '<select name=' + name + ' id="' + name + '">';
|
||||
|
||||
var defaultOption = '';
|
||||
if (selectionDefault == undefined) {
|
||||
if (selectionDefault === undefined) {
|
||||
defaultOption = '<option value="">default</option>';
|
||||
}
|
||||
|
||||
@@ -462,7 +465,7 @@ exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
var elements = document.getElementsByClassName("testInputTag");
|
||||
var listener = function (e) {
|
||||
testInputTag(e.target);
|
||||
}
|
||||
};
|
||||
for (var i = 0; i < elements.length; ++i) {
|
||||
var item = elements[i];
|
||||
item.addEventListener("change", listener, false);
|
||||
|
||||
Reference in New Issue
Block a user