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:
Bobby Holley 2011-09-25 15:38:00 +01:00
Родитель ef44402842
Коммит 82d89ea7b4
4 изменённых файлов: 45 добавлений и 9 удалений

Просмотреть файл

@ -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]