зеркало из https://github.com/mozilla/gecko-dev.git
Bug 684327 - Generalize test_readwriteattributes.js into test_attributes.js. r=khuey
--HG-- rename : js/src/xpconnect/tests/unit/test_readwriteattributes.js => js/src/xpconnect/tests/unit/test_attributes.js
This commit is contained in:
Родитель
ef44402842
Коммит
82d89ea7b4
|
@ -1,2 +1,5 @@
|
|||
component {8ff41d9c-66e9-4453-924a-7d8de0a5e966} xpctest_attributes.js
|
||||
contract @mozilla.org/js/xpc/test/js/ObjectReadWrite;1 {8ff41d9c-66e9-4453-924a-7d8de0a5e966}
|
||||
|
||||
component {916c4247-253d-4ed0-a425-adfedf53ecc8} xpctest_attributes.js
|
||||
contract @mozilla.org/js/xpc/test/js/ObjectReadOnly;1 {916c4247-253d-4ed0-a425-adfedf53ecc8}
|
||||
|
|
|
@ -52,4 +52,23 @@ TestObjectReadWrite.prototype = {
|
|||
charProperty: "X"
|
||||
};
|
||||
|
||||
var NSGetFactory = XPCOMUtils.generateNSGetFactory([TestObjectReadWrite]);
|
||||
|
||||
function TestObjectReadOnly() {}
|
||||
TestObjectReadOnly.prototype = {
|
||||
|
||||
/* Boilerplate */
|
||||
QueryInterface: XPCOMUtils.generateQI([Components.interfaces["nsIXPCTestObjectReadOnly"]]),
|
||||
contractID: "@mozilla.org/js/xpc/test/js/ObjectReadOnly;1",
|
||||
classID: Components.ID("{916c4247-253d-4ed0-a425-adfedf53ecc8}"),
|
||||
|
||||
/* nsIXPCTestObjectReadOnly */
|
||||
strReadOnly: "XPConnect Read-Only String",
|
||||
boolReadOnly: true,
|
||||
shortReadOnly: 32767,
|
||||
longReadOnly: 2147483647,
|
||||
floatReadOnly: 5.5,
|
||||
charReadOnly: "X"
|
||||
};
|
||||
|
||||
|
||||
var NSGetFactory = XPCOMUtils.generateNSGetFactory([TestObjectReadWrite, TestObjectReadOnly]);
|
||||
|
|
|
@ -34,8 +34,8 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// Globals
|
||||
var gInterface = Components.interfaces["nsIXPCTestObjectReadWrite"];
|
||||
const Cc = Components.classes;
|
||||
const Ci = Components.interfaces;
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
@ -44,15 +44,16 @@ function run_test() {
|
|||
Components.manager.autoRegister(do_get_file('../components/js/xpctest.manifest'));
|
||||
|
||||
// Test for each component.
|
||||
test_component("@mozilla.org/js/xpc/test/native/ObjectReadWrite;1");
|
||||
test_component("@mozilla.org/js/xpc/test/js/ObjectReadWrite;1");
|
||||
|
||||
test_component_readwrite("@mozilla.org/js/xpc/test/native/ObjectReadWrite;1");
|
||||
test_component_readwrite("@mozilla.org/js/xpc/test/js/ObjectReadWrite;1");
|
||||
test_component_readonly("@mozilla.org/js/xpc/test/native/ObjectReadOnly;1");
|
||||
test_component_readonly("@mozilla.org/js/xpc/test/js/ObjectReadOnly;1");
|
||||
}
|
||||
|
||||
function test_component(contractid) {
|
||||
function test_component_readwrite(contractid) {
|
||||
|
||||
// Instantiate the object.
|
||||
var o = Components.classes[contractid].createInstance(gInterface);
|
||||
var o = Cc[contractid].createInstance(Ci["nsIXPCTestObjectReadWrite"]);
|
||||
|
||||
// Test the initial values.
|
||||
do_check_eq("XPConnect Read-Writable String", o.stringProperty);
|
||||
|
@ -93,3 +94,16 @@ function test_component(contractid) {
|
|||
SetAndTestBooleanProperty({}, true);
|
||||
}
|
||||
|
||||
function test_component_readonly(contractid) {
|
||||
|
||||
// Instantiate the object.
|
||||
var o = Cc[contractid].createInstance(Ci["nsIXPCTestObjectReadOnly"]);
|
||||
|
||||
// Test the initial values.
|
||||
do_check_eq("XPConnect Read-Only String", o.strReadOnly);
|
||||
do_check_eq(true, o.boolReadOnly);
|
||||
do_check_eq(32767, o.shortReadOnly);
|
||||
do_check_eq(2147483647, o.longReadOnly);
|
||||
do_check_true(5.25 < o.floatReadOnly && 5.75 > o.floatReadOnly);
|
||||
do_check_eq("X", o.charReadOnly);
|
||||
}
|
|
@ -21,4 +21,4 @@ fail-if = os == "android"
|
|||
[test_recursive_import.js]
|
||||
[test_xpcomutils.js]
|
||||
[test_unload.js]
|
||||
[test_readwriteattributes.js]
|
||||
[test_attributes.js]
|
||||
|
|
Загрузка…
Ссылка в новой задаче