OLD | NEW |
| (Empty) |
1 // Try calling the browser-side bound functions with varying (invalid) | |
2 // inputs. There is no notion of "success" for this test, other than | |
3 // verifying the correct C++ bindings were reached with expected values. | |
4 | |
5 function MyObject() { | |
6 this.x = "3"; | |
7 } | |
8 | |
9 MyObject.prototype.toString = function() { | |
10 throw "exception from calling toString()"; | |
11 } | |
12 | |
13 function expectEquals(expectation, actual) { | |
14 if (!(expectation === actual)) { | |
15 throw "FAIL: expected: " + expectation + ", actual: " + actual; | |
16 } | |
17 } | |
18 | |
19 function FindProxyForURL(url, host) { | |
20 // Call dnsResolve with some wonky arguments. | |
21 // Those expected to fail (because we have passed a non-string parameter) | |
22 // will return |null|, whereas those that have called through to the C++ | |
23 // bindings will return '127.0.0.1'. | |
24 expectEquals(null, dnsResolve()); | |
25 expectEquals(null, dnsResolve(null)); | |
26 expectEquals(null, dnsResolve(undefined)); | |
27 expectEquals('127.0.0.1', dnsResolve("")); | |
28 expectEquals(null, dnsResolve({foo: 'bar'})); | |
29 expectEquals(null, dnsResolve(fn)); | |
30 expectEquals(null, dnsResolve(['3'])); | |
31 expectEquals('127.0.0.1', dnsResolve("arg1", "arg2", "arg3", "arg4")); | |
32 | |
33 // Call alert with some wonky arguments. | |
34 alert(); | |
35 alert(null); | |
36 alert(undefined); | |
37 alert({foo:'bar'}); | |
38 | |
39 // This should throw an exception when we toString() the argument | |
40 // to alert in the bindings. | |
41 try { | |
42 alert(new MyObject()); | |
43 } catch (e) { | |
44 alert(e); | |
45 } | |
46 | |
47 // Call myIpAddress() with wonky arguments | |
48 myIpAddress(null); | |
49 myIpAddress(null, null); | |
50 | |
51 // Call myIpAddressEx() correctly (no arguments). | |
52 myIpAddressEx(); | |
53 | |
54 // Call dnsResolveEx() (note that isResolvableEx() implicity calls it.) | |
55 isResolvableEx("is_resolvable"); | |
56 dnsResolveEx("foobar"); | |
57 | |
58 return "DIRECT"; | |
59 } | |
60 | |
61 function fn() {} | |
62 | |
OLD | NEW |