Add test for overloading with interface and dict

This commit is contained in:
Manish Goregaokar 2020-04-09 09:01:37 -07:00
parent c24481ab9c
commit 58bab8a7e9
6 changed files with 49 additions and 1 deletions

View file

@ -12,7 +12,7 @@ use crate::dom::bindings::codegen::Bindings::TestBindingBinding::{
TestBindingMethods, TestDictionary,
};
use crate::dom::bindings::codegen::Bindings::TestBindingBinding::{
TestDictionaryDefaults, TestEnum,
TestDictionaryDefaults, TestEnum, TestURLLike,
};
use crate::dom::bindings::codegen::UnionTypes;
use crate::dom::bindings::codegen::UnionTypes::{
@ -45,6 +45,7 @@ use crate::dom::bindings::trace::RootedTraceableBox;
use crate::dom::bindings::weakref::MutableWeakRef;
use crate::dom::blob::Blob;
use crate::dom::globalscope::GlobalScope;
use crate::dom::node::Node;
use crate::dom::promise::Promise;
use crate::dom::promisenativehandler::{Callback, PromiseNativeHandler};
use crate::dom::url::URL;
@ -679,6 +680,14 @@ impl TestBindingMethods for TestBinding {
fn PassOverloaded(&self, _: CustomAutoRooterGuard<typedarray::ArrayBuffer>) {}
fn PassOverloaded_(&self, _: DOMString) {}
fn PassOverloadedDict(&self, _: &Node) -> DOMString {
"node".into()
}
fn PassOverloadedDict_(&self, u: &TestURLLike) -> DOMString {
u.href.clone()
}
fn PassNullableBoolean(&self, _: Option<bool>) {}
fn PassNullableByte(&self, _: Option<i8>) {}
fn PassNullableOctet(&self, _: Option<u8>) {}

View file

@ -86,6 +86,10 @@ dictionary TestDictionaryDefaults {
object? nullableObjectValue = null;
};
dictionary TestURLLike {
required DOMString href;
};
[Pref="dom.testbinding.enabled",
Exposed=(Window,Worker)
]
@ -279,6 +283,10 @@ interface TestBinding {
void passOverloaded(ArrayBuffer arg);
void passOverloaded(DOMString arg);
// https://github.com/servo/servo/pull/26154
DOMString passOverloadedDict(Node arg);
DOMString passOverloadedDict(TestURLLike arg);
void passNullableBoolean(boolean? arg);
void passNullableByte(byte? arg);
void passNullableOctet(octet? arg);