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)); | |
101 assert_equals((await calc.add(2)).value, 2); | 85 assert_equals((await calc.add(2)).value, 2); |
102 | 86 |
103 var interfaceRequest = calcBinding.unbind(); | 87 var interfaceRequest = calcBinding.unbind(); |
104 assert_false(calcBinding.isBound()); | 88 assert_false(calcBinding.isBound()); |
105 | 89 |
106 var newCalcBinding = new bindings.Binding(math.Calculator, | 90 var newCalcBinding = new bindings.Binding(math.Calculator, |
107 new CalculatorImpl(), | 91 new CalculatorImpl(), |
108 interfaceRequest); | 92 interfaceRequest); |
109 assert_equals((await calc.add(2)).value, 2); | 93 assert_equals((await calc.add(2)).value, 2); |
110 }, 'unbind'); | 94 }, 'unbind'); |
(...skipping 18 matching lines...) Expand all Loading... |
129 calc1.ptr.reset(); | 113 calc1.ptr.reset(); |
130 }); | 114 }); |
131 | 115 |
132 assert_equals((await calc2.add(5)).value, 12); | 116 assert_equals((await calc2.add(5)).value, 12); |
133 | 117 |
134 bindingSet.closeAllBindings(); | 118 bindingSet.closeAllBindings(); |
135 assert_true(bindingSet.isEmpty()); | 119 assert_true(bindingSet.isEmpty()); |
136 }, 'binding set'); | 120 }, 'binding set'); |
137 | 121 |
138 </script> | 122 </script> |
OLD | NEW |