|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 const Cc = Components.classes; |
|
6 const Ci = Components.interfaces; |
|
7 |
|
8 function run_test() { |
|
9 |
|
10 // Load the component manifest. |
|
11 Components.manager.autoRegister(do_get_file('../components/js/xpctest.manifest')); |
|
12 |
|
13 // Test for each component. |
|
14 test_property_throws("@mozilla.org/js/xpc/test/js/Bug809674;1"); |
|
15 } |
|
16 |
|
17 function test_property_throws(contractid) { |
|
18 |
|
19 // Instantiate the object. |
|
20 var o = Cc[contractid].createInstance(Ci["nsIXPCTestBug809674"]); |
|
21 |
|
22 // Test the initial values. |
|
23 try { |
|
24 o.jsvalProperty; |
|
25 do_check_true(false, "Should have thrown"); |
|
26 } catch (e) { |
|
27 do_check_true(/implicit_jscontext/.test(e), "Should throw a helpful error"); |
|
28 } |
|
29 |
|
30 } |