OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../resources/testharness.js"></script> | 2 <script src="../resources/testharness.js"></script> |
3 <script src="../resources/testharnessreport.js"></script> | 3 <script src="../resources/testharnessreport.js"></script> |
4 <script src="../resources/mojo-helpers.js"></script> | 4 <script src="../resources/mojo-helpers.js"></script> |
5 <script> | 5 <script> |
6 'use strict'; | 6 'use strict'; |
7 | 7 |
8 function CalculatorImpl() { | 8 function CalculatorImpl() { |
9 this.total = 0; | 9 this.total = 0; |
10 } | 10 } |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 calcBinding.setConnectionErrorHandler(() => { resolve(); }); | 75 calcBinding.setConnectionErrorHandler(() => { resolve(); }); |
76 calc.ptr.reset(); | 76 calc.ptr.reset(); |
77 }); | 77 }); |
78 }, 'connection error'); | 78 }, 'connection error'); |
79 | 79 |
80 binding_test(async (bindings, math) => { | 80 binding_test(async (bindings, math) => { |
81 var calc = new math.CalculatorPtr(); | 81 var calc = new math.CalculatorPtr(); |
82 var calcBinding = new bindings.Binding(math.Calculator, | 82 var calcBinding = new bindings.Binding(math.Calculator, |
83 new CalculatorImpl(), | 83 new CalculatorImpl(), |
84 bindings.makeRequest(calc)); | 84 bindings.makeRequest(calc)); |
| 85 |
| 86 await new Promise((resolve, reject) => { |
| 87 calcBinding.setConnectionErrorHandler(({custom_reason, description}) => { |
| 88 assert_equals(custom_reason, 32); |
| 89 assert_equals(description, 'goodbye'); |
| 90 resolve(); |
| 91 }); |
| 92 calc.ptr.resetWithReason({custom_reason: 32, description: 'goodbye'}); |
| 93 }); |
| 94 }, 'connection error with reason'); |
| 95 |
| 96 binding_test(async (bindings, math) => { |
| 97 var calc = new math.CalculatorPtr(); |
| 98 var calcBinding = new bindings.Binding(math.Calculator, |
| 99 new CalculatorImpl(), |
| 100 bindings.makeRequest(calc)); |
85 assert_equals((await calc.add(2)).value, 2); | 101 assert_equals((await calc.add(2)).value, 2); |
86 | 102 |
87 var interfaceRequest = calcBinding.unbind(); | 103 var interfaceRequest = calcBinding.unbind(); |
88 assert_false(calcBinding.isBound()); | 104 assert_false(calcBinding.isBound()); |
89 | 105 |
90 var newCalcBinding = new bindings.Binding(math.Calculator, | 106 var newCalcBinding = new bindings.Binding(math.Calculator, |
91 new CalculatorImpl(), | 107 new CalculatorImpl(), |
92 interfaceRequest); | 108 interfaceRequest); |
93 assert_equals((await calc.add(2)).value, 2); | 109 assert_equals((await calc.add(2)).value, 2); |
94 }, 'unbind'); | 110 }, 'unbind'); |
(...skipping 18 matching lines...) Expand all Loading... |
113 calc1.ptr.reset(); | 129 calc1.ptr.reset(); |
114 }); | 130 }); |
115 | 131 |
116 assert_equals((await calc2.add(5)).value, 12); | 132 assert_equals((await calc2.add(5)).value, 12); |
117 | 133 |
118 bindingSet.closeAllBindings(); | 134 bindingSet.closeAllBindings(); |
119 assert_true(bindingSet.isEmpty()); | 135 assert_true(bindingSet.isEmpty()); |
120 }, 'binding set'); | 136 }, 'binding set'); |
121 | 137 |
122 </script> | 138 </script> |
OLD | NEW |