|
1 // |reftest| skip-if(!xulRuntime.shell) |
|
2 // -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- |
|
3 // Any copyright is dedicated to the Public Domain. |
|
4 // http://creativecommons.org/licenses/publicdomain/ |
|
5 |
|
6 function check(v) { |
|
7 try { |
|
8 serialize(v); |
|
9 } catch (exc) { |
|
10 return; |
|
11 } |
|
12 throw new Error("serializing " + uneval(v) + " should have failed with an exception"); |
|
13 } |
|
14 |
|
15 // Unsupported object types. |
|
16 check(new Error("oops")); |
|
17 check(this); |
|
18 check(Math); |
|
19 check(function () {}); |
|
20 check(Proxy.create({enumerate: function () { return []; }})); |
|
21 |
|
22 // A failing getter. |
|
23 check({get x() { throw new Error("fail"); }}); |
|
24 |
|
25 reportCompare(0, 0, "ok"); |