From 9fe72eb37993bbe56802da30ade9d7c984e7b23d Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Thu, 6 Mar 2014 19:05:14 +0100 Subject: [PATCH] Add interface codegen tests. --- src/components/script/dom/testbinding.rs | 11 +++++++++++ src/components/script/dom/webidls/TestBinding.webidl | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/src/components/script/dom/testbinding.rs b/src/components/script/dom/testbinding.rs index 694ff1050c3..8173a9829aa 100644 --- a/src/components/script/dom/testbinding.rs +++ b/src/components/script/dom/testbinding.rs @@ -2,12 +2,16 @@ * 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::js::JS; use dom::bindings::utils::{Reflector, Reflectable}; +use dom::blob::Blob; +use dom::window::Window; use servo_util::str::DOMString; #[deriving(Encodable)] pub struct TestBinding { reflector: Reflector, + window: JS, } impl TestBinding { @@ -35,6 +39,8 @@ impl TestBinding { pub fn SetDoubleAttribute(&self, _: f64) {} pub fn StringAttribute(&self) -> DOMString { ~"" } pub fn SetStringAttribute(&self, _: DOMString) {} + pub fn InterfaceAttribute(&self) -> JS { Blob::new(&self.window) } + pub fn SetInterfaceAttribute(&self, _: &JS) {} pub fn GetBooleanAttributeNullable(&self) -> Option { Some(false) } pub fn SetBooleanAttributeNullable(&self, _: Option) {} @@ -60,6 +66,8 @@ impl TestBinding { pub fn SetDoubleAttributeNullable(&self, _: Option) {} pub fn GetStringAttributeNullable(&self) -> Option { Some(~"") } pub fn SetStringAttributeNullable(&self, _: Option) {} + pub fn GetInterfaceAttributeNullable(&self) -> Option> { Some(Blob::new(&self.window)) } + pub fn SetInterfaceAttributeNullable(&self, _: Option>) {} // FIXME (issue #1813) Doesn't currently compile. // pub fn PassOptionalBoolean(&self, _: Option) {} @@ -74,6 +82,7 @@ impl TestBinding { // pub fn PassOptionalFloat(&self, _: Option) {} // pub fn PassOptionalDouble(&self, _: Option) {} pub fn PassOptionalString(&self, _: Option) {} + pub fn PassOptionalInterface(&self, _: Option>) {} // pub fn PassOptionalNullableBoolean(&self, _: Option>) {} // pub fn PassOptionalNullableByte(&self, _: Option>) {} @@ -87,6 +96,7 @@ impl TestBinding { // pub fn PassOptionalNullableFloat(&self, _: Option>) {} // pub fn PassOptionalNullableDouble(&self, _: Option>) {} pub fn PassOptionalNullableString(&self, _: Option>) {} + // pub fn PassOptionalNullableInterface(&self, _: Option>>) {} pub fn PassOptionalBooleanWithDefault(&self, _: bool) {} pub fn PassOptionalByteWithDefault(&self, _: i8) {} @@ -111,6 +121,7 @@ impl TestBinding { pub fn PassOptionalNullableFloatWithDefault(&self, _: Option) {} pub fn PassOptionalNullableDoubleWithDefault(&self, _: Option) {} // pub fn PassOptionalNullableStringWithDefault(&self, _: Option) {} + pub fn PassOptionalNullableInterfaceWithDefault(&self, _: Option>) {} } impl Reflectable for TestBinding { diff --git a/src/components/script/dom/webidls/TestBinding.webidl b/src/components/script/dom/webidls/TestBinding.webidl index bb3a7dd486e..5cb5a20a02e 100644 --- a/src/components/script/dom/webidls/TestBinding.webidl +++ b/src/components/script/dom/webidls/TestBinding.webidl @@ -15,6 +15,7 @@ interface TestBinding { attribute float floatAttribute; attribute double doubleAttribute; attribute DOMString stringAttribute; + attribute Blob interfaceAttribute; attribute boolean? booleanAttributeNullable; attribute byte? byteAttributeNullable; @@ -28,6 +29,7 @@ interface TestBinding { attribute float? floatAttributeNullable; attribute double? doubleAttributeNullable; attribute DOMString? stringAttributeNullable; + attribute Blob? interfaceAttributeNullable; // FIXME (issue #1813) Doesn't currently compile. // void passOptionalBoolean(optional boolean arg); @@ -42,6 +44,7 @@ interface TestBinding { // void passOptionalFloat(optional float arg); // void passOptionalDouble(optional double arg); void passOptionalString(optional DOMString arg); + void passOptionalInterface(optional Blob arg); // void passOptionalNullableBoolean(optional boolean? arg); // void passOptionalNullableByte(optional byte? arg); @@ -55,6 +58,7 @@ interface TestBinding { // void passOptionalNullableFloat(optional float? arg); // void passOptionalNullableDouble(optional double? arg); void passOptionalNullableString(optional DOMString? arg); + // void passOptionalNullableInterface(optional Blob? arg); void passOptionalBooleanWithDefault(optional boolean arg = false); void passOptionalByteWithDefault(optional byte arg = 0); @@ -77,4 +81,5 @@ interface TestBinding { void passOptionalNullableLongLongWithDefault(optional long long? arg = null); void passOptionalNullableUnsignedLongLongWithDefault(optional unsigned long long? arg = null); // void passOptionalNullableStringWithDefault(optional DOMString? arg = null); + void passOptionalNullableInterfaceWithDefault(optional Blob? arg = null); };