Add FileReaderSync skeleton

This commit is contained in:
Zhen Zhang 2016-07-31 00:23:56 +02:00
parent 1ce4be8f6d
commit 47a7d465fd
9 changed files with 54 additions and 25 deletions

View file

@ -0,0 +1,34 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::FileReaderSyncBinding;
use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef;
use dom::bindings::js::Root;
use dom::bindings::reflector::reflect_dom_object;
use dom::eventtarget::EventTarget;
#[dom_struct]
pub struct FileReaderSync {
eventtarget: EventTarget
}
impl FileReaderSync {
pub fn new_inherited() -> FileReaderSync {
FileReaderSync {
eventtarget: EventTarget::new_inherited(),
}
}
pub fn new(global: GlobalRef) -> Root<FileReaderSync> {
reflect_dom_object(box FileReaderSync::new_inherited(),
global, FileReaderSyncBinding::Wrap)
}
pub fn Constructor(global: GlobalRef) -> Fallible<Root<FileReaderSync>> {
Ok(FileReaderSync::new(global))
}
}

View file

@ -265,6 +265,7 @@ pub mod eventtarget;
pub mod file; pub mod file;
pub mod filelist; pub mod filelist;
pub mod filereader; pub mod filereader;
pub mod filereadersync;
pub mod focusevent; pub mod focusevent;
pub mod forcetouchevent; pub mod forcetouchevent;
pub mod formdata; pub mod formdata;

View file

@ -0,0 +1,15 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// https://w3c.github.io/FileAPI/#FileReaderSync
[Constructor, Exposed=Worker]
interface FileReaderSync {
// Synchronously return strings
// ArrayBuffer readAsArrayBuffer(Blob blob);
// DOMString readAsBinaryString(Blob blob);
// DOMString readAsText(Blob blob, optional DOMString label);
// DOMString readAsDataURL(Blob blob);
};

View file

@ -1,9 +1,5 @@
[FileReaderSync.worker] [FileReaderSync.worker]
type: testharness type: testharness
expected: ERROR
[Interface]
expected: FAIL
[readAsText] [readAsText]
expected: FAIL expected: FAIL

View file

@ -12,18 +12,6 @@
[FileReader interface: calling readAsArrayBuffer(Blob) on new FileReader() with too few arguments must throw TypeError] [FileReader interface: calling readAsArrayBuffer(Blob) on new FileReader() with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[FileReaderSync interface: existence and properties of interface object]
expected: FAIL
[FileReaderSync interface object length]
expected: FAIL
[FileReaderSync interface: existence and properties of interface prototype object]
expected: FAIL
[FileReaderSync interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[FileReaderSync interface: operation readAsArrayBuffer(Blob)] [FileReaderSync interface: operation readAsArrayBuffer(Blob)]
expected: FAIL expected: FAIL
@ -33,12 +21,6 @@
[FileReaderSync interface: operation readAsDataURL(Blob)] [FileReaderSync interface: operation readAsDataURL(Blob)]
expected: FAIL expected: FAIL
[FileReaderSync must be primary interface of new FileReaderSync()]
expected: FAIL
[Stringification of new FileReaderSync()]
expected: FAIL
[FileReaderSync interface: new FileReaderSync() must inherit property "readAsArrayBuffer" with the proper type (0)] [FileReaderSync interface: new FileReaderSync() must inherit property "readAsArrayBuffer" with the proper type (0)]
expected: FAIL expected: FAIL
@ -57,9 +39,6 @@
[FileReaderSync interface: calling readAsDataURL(Blob) on new FileReaderSync() with too few arguments must throw TypeError] [FileReaderSync interface: calling readAsDataURL(Blob) on new FileReaderSync() with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[FileReaderSync interface object name]
expected: FAIL
[Window interface: existence and properties of interface object] [Window interface: existence and properties of interface object]
expected: FAIL expected: FAIL

View file

@ -41,3 +41,4 @@
[Check forEach method] [Check forEach method]
expected: FAIL expected: FAIL

View file

@ -5,3 +5,4 @@
[Headers forEach loop should stop if callback is throwing exception] [Headers forEach loop should stop if callback is throwing exception]
expected: FAIL expected: FAIL

View file

@ -9,3 +9,4 @@
[Headers has values method] [Headers has values method]
expected: FAIL expected: FAIL

View file

@ -41,6 +41,7 @@ test_interfaces([
"File", "File",
"FileList", "FileList",
"FileReader", "FileReader",
"FileReaderSync",
"FocusEvent", "FocusEvent",
"FormData", "FormData",
"HashChangeEvent", "HashChangeEvent",