aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2014-03-04 18:34:24 +0100
committerMs2ger <ms2ger@gmail.com>2014-03-04 18:34:24 +0100
commitaa9a61a78c240528d5ee7f229e4bac9254407e5e (patch)
treee4a7a8d1cbb11e9490269796a603d0fb39267063 /src
parentd063601ba0758a5b88b6f6b2a4f99593e71aa07c (diff)
downloadservo-aa9a61a78c240528d5ee7f229e4bac9254407e5e.tar.gz
servo-aa9a61a78c240528d5ee7f229e4bac9254407e5e.zip
Add tests for optional primitive arguments.
Diffstat (limited to 'src')
-rw-r--r--src/components/script/dom/testbinding.rs35
-rw-r--r--src/components/script/dom/webidls/TestBinding.webidl33
2 files changed, 68 insertions, 0 deletions
diff --git a/src/components/script/dom/testbinding.rs b/src/components/script/dom/testbinding.rs
index 4aceb57bec2..b26fc90fb47 100644
--- a/src/components/script/dom/testbinding.rs
+++ b/src/components/script/dom/testbinding.rs
@@ -55,6 +55,41 @@ impl TestBinding {
pub fn SetFloatAttributeNullable(&self, _: Option<f32>) {}
pub fn GetDoubleAttributeNullable(&self) -> Option<f64> { Some(0.) }
pub fn SetDoubleAttributeNullable(&self, _: Option<f64>) {}
+
+ // FIXME (issue #1813) Doesn't currently compile.
+ // pub fn PassOptionalBoolean(&self, _: Option<bool>) {}
+ // pub fn PassOptionalByte(&self, _: Option<i8>) {}
+ // pub fn PassOptionalOctet(&self, _: Option<u8>) {}
+ // pub fn PassOptionalShort(&self, _: Option<i16>) {}
+ // pub fn PassOptionalUnsignedShort(&self, _: Option<u16>) {}
+ // pub fn PassOptionalLong(&self, _: Option<i32>) {}
+ // pub fn PassOptionalUnsignedLong(&self, _: Option<u32>) {}
+ // pub fn PassOptionalLongLong(&self, _: Option<i64>) {}
+ // pub fn PassOptionalUnsignedLongLong(&self, _: Option<u64>) {}
+ // pub fn PassOptionalFloat(&self, _: Option<f32>) {}
+ // pub fn PassOptionalDouble(&self, _: Option<f64>) {}
+
+ pub fn PassOptionalBooleanWithDefault(&self, _: bool) {}
+ pub fn PassOptionalByteWithDefault(&self, _: i8) {}
+ pub fn PassOptionalOctetWithDefault(&self, _: u8) {}
+ pub fn PassOptionalShortWithDefault(&self, _: i16) {}
+ pub fn PassOptionalUnsignedShortWithDefault(&self, _: u16) {}
+ pub fn PassOptionalLongWithDefault(&self, _: i32) {}
+ pub fn PassOptionalUnsignedLongWithDefault(&self, _: u32) {}
+ pub fn PassOptionalLongLongWithDefault(&self, _: i64) {}
+ pub fn PassOptionalUnsignedLongLongWithDefault(&self, _: u64) {}
+
+ pub fn PassOptionalNullableBooleanWithDefault(&self, _: Option<bool>) {}
+ pub fn PassOptionalNullableByteWithDefault(&self, _: Option<i8>) {}
+ pub fn PassOptionalNullableOctetWithDefault(&self, _: Option<u8>) {}
+ pub fn PassOptionalNullableShortWithDefault(&self, _: Option<i16>) {}
+ pub fn PassOptionalNullableUnsignedShortWithDefault(&self, _: Option<u16>) {}
+ pub fn PassOptionalNullableLongWithDefault(&self, _: Option<i32>) {}
+ pub fn PassOptionalNullableUnsignedLongWithDefault(&self, _: Option<u32>) {}
+ pub fn PassOptionalNullableLongLongWithDefault(&self, _: Option<i64>) {}
+ pub fn PassOptionalNullableUnsignedLongLongWithDefault(&self, _: Option<u64>) {}
+ pub fn PassOptionalNullableFloatWithDefault(&self, _: Option<f32>) {}
+ pub fn PassOptionalNullableDoubleWithDefault(&self, _: Option<f64>) {}
}
impl Reflectable for TestBinding {
diff --git a/src/components/script/dom/webidls/TestBinding.webidl b/src/components/script/dom/webidls/TestBinding.webidl
index 8086a2bead9..94530b6cf1d 100644
--- a/src/components/script/dom/webidls/TestBinding.webidl
+++ b/src/components/script/dom/webidls/TestBinding.webidl
@@ -26,4 +26,37 @@ interface TestBinding {
attribute unsigned long long? unsignedLongLongAttributeNullable;
attribute float? floatAttributeNullable;
attribute double? doubleAttributeNullable;
+
+ // FIXME (issue #1813) Doesn't currently compile.
+ // void passOptionalBoolean(optional boolean arg);
+ // void passOptionalByte(optional byte arg);
+ // void passOptionalOctet(optional octet arg);
+ // void passOptionalShort(optional short arg);
+ // void passOptionalUnsignedShort(optional unsigned short arg);
+ // void passOptionalLong(optional long arg);
+ // void passOptionalUnsignedLong(optional unsigned long arg);
+ // void passOptionalLongLong(optional long long arg);
+ // void passOptionalUnsignedLongLong(optional unsigned long long arg);
+ // void passOptionalFloat(optional float arg);
+ // void passOptionalDouble(optional double arg);
+
+ void passOptionalBooleanWithDefault(optional boolean arg = false);
+ void passOptionalByteWithDefault(optional byte arg = 0);
+ void passOptionalOctetWithDefault(optional octet arg = 19);
+ void passOptionalShortWithDefault(optional short arg = 5);
+ void passOptionalUnsignedShortWithDefault(optional unsigned short arg = 2);
+ void passOptionalLongWithDefault(optional long arg = 7);
+ void passOptionalUnsignedLongWithDefault(optional unsigned long arg = 6);
+ void passOptionalLongLongWithDefault(optional long long arg = -12);
+ void passOptionalUnsignedLongLongWithDefault(optional unsigned long long arg = 17);
+
+ void passOptionalNullableBooleanWithDefault(optional boolean? arg = null);
+ void passOptionalNullableByteWithDefault(optional byte? arg = null);
+ void passOptionalNullableOctetWithDefault(optional octet? arg = null);
+ void passOptionalNullableShortWithDefault(optional short? arg = null);
+ void passOptionalNullableUnsignedShortWithDefault(optional unsigned short? arg = null);
+ void passOptionalNullableLongWithDefault(optional long? arg = null);
+ void passOptionalNullableUnsignedLongWithDefault(optional unsigned long? arg = null);
+ void passOptionalNullableLongLongWithDefault(optional long long? arg = null);
+ void passOptionalNullableUnsignedLongLongWithDefault(optional unsigned long long? arg = null);
};