summaryrefslogtreecommitdiffstats
path: root/js/xpconnect/tests/idl
diff options
context:
space:
mode:
Diffstat (limited to 'js/xpconnect/tests/idl')
-rw-r--r--js/xpconnect/tests/idl/xpctest_utils.idl24
1 files changed, 14 insertions, 10 deletions
diff --git a/js/xpconnect/tests/idl/xpctest_utils.idl b/js/xpconnect/tests/idl/xpctest_utils.idl
index db135fcbe1..3379a5253c 100644
--- a/js/xpconnect/tests/idl/xpctest_utils.idl
+++ b/js/xpconnect/tests/idl/xpctest_utils.idl
@@ -18,25 +18,29 @@ interface nsIXPCTestUtils : nsISupports {
nsIXPCTestFunctionInterface doubleWrapFunction(in nsIXPCTestFunctionInterface f);
};
-/*
- * Test that non-[scriptable] interfaces and [noscript] members are not
- * generated for TypeScript bindings.
+/**
+ * TypeScript bindings specific tests.
*/
+// Typedefs with a TSNoncompat underlying type are not defined.
+typedef voidPtr Noncompat;
+
+// Not [scriptable] interfaces are not generated.
[uuid(ddf64cfb-668a-4571-a900-0fe2babb6249)]
interface nsIXPCTestNotScriptable : nsISupports {
// Empty.
};
[scriptable, uuid(1bbfe703-c67d-4995-b061-564c8a1c39d7)]
-interface nsIXPCTestNoScriptMembers : nsISupports {
- [noscript]
- attribute long noscriptProp;
-
+interface nsIXPCTestTypeScript : nsISupports {
attribute long exposedProp;
+ void exposedMethod(in long arg);
- [noscript]
- void noscriptMethod(in long arg);
+ // Members referencing TSNoncompat typedefs are not exposed.
+ [noscript] attribute Noncompat noncompatProp;
+ [noscript] void noncompatMethod(in Noncompat arg);
- void exposedMethod(in long arg);
+ // [noscript] attributes and methods are not exposed.
+ [noscript] attribute long noscriptProp;
+ [noscript] void noscriptMethod(in long arg);
};