forked from mirrors/gecko-dev
		
	# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D35951 --HG-- extra : source : 62f3501af4bc1c0bd1ee1977a28aee04706a6663
		
			
				
	
	
		
			82 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/**
 | 
						|
 * Delegates "is" evaluation back to main thread.
 | 
						|
 */
 | 
						|
function is(actual, expected, message) {
 | 
						|
  var rtnObj = new Object();
 | 
						|
  rtnObj.actual = actual;
 | 
						|
  rtnObj.expected = expected;
 | 
						|
  rtnObj.message = message;
 | 
						|
  postMessage(rtnObj);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Tries to write to property.
 | 
						|
 */
 | 
						|
function writeProperty(file, property) {
 | 
						|
  var oldValue = file[property];
 | 
						|
  file[property] = -1;
 | 
						|
  is(file[property], oldValue, "Property " + property + " should be readonly.");
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Passes junk arguments to FileReaderSync methods and expects an exception to
 | 
						|
 * be thrown.
 | 
						|
 */
 | 
						|
function fileReaderJunkArgument(blob) {
 | 
						|
  var fileReader = new FileReaderSync();
 | 
						|
 | 
						|
  try {
 | 
						|
    fileReader.readAsBinaryString(blob);
 | 
						|
    is(
 | 
						|
      false,
 | 
						|
      true,
 | 
						|
      "Should have thrown an exception calling readAsBinaryString."
 | 
						|
    );
 | 
						|
  } catch (ex) {
 | 
						|
    is(true, true, "Should have thrown an exception.");
 | 
						|
  }
 | 
						|
 | 
						|
  try {
 | 
						|
    fileReader.readAsDataURL(blob);
 | 
						|
    is(false, true, "Should have thrown an exception calling readAsDataURL.");
 | 
						|
  } catch (ex) {
 | 
						|
    is(true, true, "Should have thrown an exception.");
 | 
						|
  }
 | 
						|
 | 
						|
  try {
 | 
						|
    fileReader.readAsArrayBuffer(blob);
 | 
						|
    is(
 | 
						|
      false,
 | 
						|
      true,
 | 
						|
      "Should have thrown an exception calling readAsArrayBuffer."
 | 
						|
    );
 | 
						|
  } catch (ex) {
 | 
						|
    is(true, true, "Should have thrown an exception.");
 | 
						|
  }
 | 
						|
 | 
						|
  try {
 | 
						|
    fileReader.readAsText(blob);
 | 
						|
    is(false, true, "Should have thrown an exception calling readAsText.");
 | 
						|
  } catch (ex) {
 | 
						|
    is(true, true, "Should have thrown an exception.");
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
onmessage = function(event) {
 | 
						|
  var file = event.data;
 | 
						|
 | 
						|
  // Test read only properties.
 | 
						|
  writeProperty(file, "size");
 | 
						|
  writeProperty(file, "type");
 | 
						|
  writeProperty(file, "name");
 | 
						|
 | 
						|
  // Bad types.
 | 
						|
  fileReaderJunkArgument(undefined);
 | 
						|
  fileReaderJunkArgument(-1);
 | 
						|
  fileReaderJunkArgument(1);
 | 
						|
  fileReaderJunkArgument(new Object());
 | 
						|
  fileReaderJunkArgument("hello");
 | 
						|
 | 
						|
  // Post undefined to indicate that testing has finished.
 | 
						|
  postMessage(undefined);
 | 
						|
};
 |