Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(181)

Side by Side Diff: third_party/WebKit/LayoutTests/mojo/sample_service.html

Issue 2891193002: Mojo JS bindings: switch all mojo/ layout tests to use the new mode. (Closed)
Patch Set: . Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></scr ipt>
5 <script src="file:///gen/mojo/public/interfaces/bindings/tests/sample_service.mo jom.js"></script>
5 <script> 6 <script>
6 'use strict'; 7 'use strict';
7 8
8 setup({ explicit_done: true }); 9 // Checks that values are set to the defaults if we don't override them.
10 test(() => {
11 var bar = new sample.Bar();
12 assert_equals(bar.alpha, 255);
13 assert_equals(bar.type, sample.Bar.Type.VERTICAL);
9 14
10 define([ 15 var foo = new sample.Foo();
11 'mojo/public/interfaces/bindings/tests/sample_service.mojom', 16 assert_equals(foo.name, "Fooby");
12 'mojo/public/interfaces/bindings/tests/sample_import.mojom', 17 assert_true(foo.a);
13 'mojo/public/interfaces/bindings/tests/sample_import2.mojom', 18 assert_equals(foo.data, null);
14 'mojo/public/js/bindings',
15 'mojo/public/js/core',
16 ], function(sample, imported, imported2, bindings, core) {
17 19
18 // Checks that values are set to the defaults if we don't override them. 20 var defaults = new sample.DefaultsTest();
19 test(() => { 21 assert_equals(defaults.a0, -12);
20 var bar = new sample.Bar(); 22 assert_equals(defaults.a1, sample.kTwelve);
21 assert_equals(bar.alpha, 255); 23 assert_equals(defaults.a2, 1234);
22 assert_equals(bar.type, sample.Bar.Type.VERTICAL); 24 assert_equals(defaults.a3, 34567);
25 assert_equals(defaults.a4, 123456);
26 assert_equals(defaults.a5, 3456789012);
27 assert_equals(defaults.a6, -111111111111);
28 // JS doesn't have a 64 bit integer type so this is just checking that the
29 // expected and actual values have the same closest double value.
30 assert_equals(defaults.a7, 9999999999999999999);
31 assert_equals(defaults.a8, 0x12345);
32 assert_equals(defaults.a9, -0x12345);
33 assert_equals(defaults.a10, 1234);
34 assert_true(defaults.a11);
35 assert_false(defaults.a12);
36 assert_equals(defaults.a13, 123.25);
37 assert_equals(defaults.a14, 1234567890.123);
38 assert_equals(defaults.a15, 1E10);
39 assert_equals(defaults.a16, -1.2E+20);
40 assert_equals(defaults.a17, 1.23E-20);
41 assert_equals(defaults.a20, sample.Bar.Type.BOTH);
42 assert_equals(defaults.a21, null);
43 assert_true(!!defaults.a22);
44 assert_equals(defaults.a22.shape, imported.Shape.RECTANGLE);
45 assert_equals(defaults.a22.color, imported.Color.BLACK);
46 assert_equals(defaults.a23, 0xFFFFFFFFFFFFFFFF);
47 assert_equals(defaults.a24, 0x123456789);
48 assert_equals(defaults.a25, -0x123456789);
49 }, 'default values');
23 50
24 var foo = new sample.Foo(); 51 promise_test(async () => {
25 assert_equals(foo.name, "Fooby"); 52 function ServiceImpl() {
26 assert_true(foo.a);
27 assert_equals(foo.data, null);
28
29 var defaults = new sample.DefaultsTest();
30 assert_equals(defaults.a0, -12);
31 assert_equals(defaults.a1, sample.kTwelve);
32 assert_equals(defaults.a2, 1234);
33 assert_equals(defaults.a3, 34567);
34 assert_equals(defaults.a4, 123456);
35 assert_equals(defaults.a5, 3456789012);
36 assert_equals(defaults.a6, -111111111111);
37 // JS doesn't have a 64 bit integer type so this is just checking that the
38 // expected and actual values have the same closest double value.
39 assert_equals(defaults.a7, 9999999999999999999);
40 assert_equals(defaults.a8, 0x12345);
41 assert_equals(defaults.a9, -0x12345);
42 assert_equals(defaults.a10, 1234);
43 assert_true(defaults.a11);
44 assert_false(defaults.a12);
45 assert_equals(defaults.a13, 123.25);
46 assert_equals(defaults.a14, 1234567890.123);
47 assert_equals(defaults.a15, 1E10);
48 assert_equals(defaults.a16, -1.2E+20);
49 assert_equals(defaults.a17, 1.23E-20);
50 assert_equals(defaults.a20, sample.Bar.Type.BOTH);
51 assert_equals(defaults.a21, null);
52 assert_true(!!defaults.a22);
53 assert_equals(defaults.a22.shape, imported.Shape.RECTANGLE);
54 assert_equals(defaults.a22.color, imported2.Color.BLACK);
55 assert_equals(defaults.a23, 0xFFFFFFFFFFFFFFFF);
56 assert_equals(defaults.a24, 0x123456789);
57 assert_equals(defaults.a25, -0x123456789);
58 }, 'default values');
59
60 promise_test(async () => {
61 function ServiceImpl() {
62 }
63
64 ServiceImpl.prototype.frobinate = function(foo, baz, port) {
65 checkFoo(foo);
66 assert_equals(baz, sample.Service.BazOptions.EXTRA);
67 assert_true(port.ptr.isBound());
68 return Promise.resolve({result: 1234});
69 };
70
71 var foo = makeFoo();
72 checkFoo(foo);
73
74 var service = new sample.ServicePtr();
75 var request = bindings.makeRequest(service);
76 var serviceBinding = new bindings.Binding(
77 sample.Service, new ServiceImpl(), request);
78
79 var port = new sample.PortPtr();
80 bindings.makeRequest(port);
81 assert_equals((await service.frobinate(foo,
82 sample.Service.BazOptions.EXTRA, port)).result, 1234);
83
84 }, 'sample service');
85
86 done();
87
88 function makeFoo() {
89 var bar = new sample.Bar();
90 bar.alpha = 20;
91 bar.beta = 40;
92 bar.gamma = 60;
93 bar.type = sample.Bar.Type.VERTICAL;
94
95 var extra_bars = new Array(3);
96 for (var i = 0; i < extra_bars.length; ++i) {
97 var base = i * 100;
98 var type = i % 2 ?
99 sample.Bar.Type.VERTICAL : sample.Bar.Type.HORIZONTAL;
100 extra_bars[i] = new sample.Bar();
101 extra_bars[i].alpha = base;
102 extra_bars[i].beta = base + 20;
103 extra_bars[i].gamma = base + 40;
104 extra_bars[i].type = type;
105 }
106
107 var data = new Array(10);
108 for (var i = 0; i < data.length; ++i) {
109 data[i] = data.length - i;
110 }
111
112 var foo = new sample.Foo();
113 foo.name = "foopy";
114 foo.x = 1;
115 foo.y = 2;
116 foo.a = false;
117 foo.b = true;
118 foo.c = false;
119 foo.bar = bar;
120 foo.extra_bars = extra_bars;
121 foo.data = data;
122
123 foo.source = core.createMessagePipe().handle0;
124
125 return foo;
126 } 53 }
127 54
128 // Checks that the given |Foo| is identical to the one made by |makeFoo()|. 55 ServiceImpl.prototype.frobinate = function(foo, baz, port) {
129 function checkFoo(foo) { 56 checkFoo(foo);
130 assert_equals(foo.name, "foopy"); 57 assert_equals(baz, sample.Service.BazOptions.EXTRA);
131 assert_equals(foo.x, 1); 58 assert_true(port.ptr.isBound());
132 assert_equals(foo.y, 2); 59 return Promise.resolve({result: 1234});
133 assert_false(foo.a); 60 };
134 assert_true(foo.b);
135 assert_false(foo.c);
136 assert_equals(foo.bar.alpha, 20);
137 assert_equals(foo.bar.beta, 40);
138 assert_equals(foo.bar.gamma, 60);
139 assert_equals(foo.bar.type, sample.Bar.Type.VERTICAL);
140 61
141 assert_equals(foo.extra_bars.length, 3); 62 var foo = makeFoo();
142 for (var i = 0; i < foo.extra_bars.length; ++i) { 63 checkFoo(foo);
143 var base = i * 100;
144 var type = i % 2 ?
145 sample.Bar.Type.VERTICAL : sample.Bar.Type.HORIZONTAL;
146 assert_equals(foo.extra_bars[i].alpha, base);
147 assert_equals(foo.extra_bars[i].beta, base + 20);
148 assert_equals(foo.extra_bars[i].gamma, base + 40);
149 assert_equals(foo.extra_bars[i].type, type);
150 }
151 64
152 assert_equals(foo.data.length, 10); 65 var service = new sample.ServicePtr();
153 for (var i = 0; i < foo.data.length; ++i) 66 var request = mojo.makeRequest(service);
154 assert_equals(foo.data[i], foo.data.length -i); 67 var serviceBinding = new mojo.Binding(
68 sample.Service, new ServiceImpl(), request);
155 69
156 assert_true(core.isHandle(foo.source)); 70 var port = new sample.PortPtr();
71 mojo.makeRequest(port);
72 assert_equals((await service.frobinate(foo, sample.Service.BazOptions.EXTRA,
73 port)).result, 1234);
74
75 }, 'sample service');
76
77 done();
78
79 function makeFoo() {
80 var bar = new sample.Bar();
81 bar.alpha = 20;
82 bar.beta = 40;
83 bar.gamma = 60;
84 bar.type = sample.Bar.Type.VERTICAL;
85
86 var extraBars = new Array(3);
87 for (var i = 0; i < extraBars.length; ++i) {
88 var base = i * 100;
89 var type = i % 2 ? sample.Bar.Type.VERTICAL : sample.Bar.Type.HORIZONTAL;
90 extraBars[i] = new sample.Bar();
91 extraBars[i].alpha = base;
92 extraBars[i].beta = base + 20;
93 extraBars[i].gamma = base + 40;
94 extraBars[i].type = type;
157 } 95 }
158 }); 96
97 var data = new Array(10);
98 for (var i = 0; i < data.length; ++i) {
99 data[i] = data.length - i;
100 }
101
102 var foo = new sample.Foo();
103 foo.name = "foopy";
104 foo.x = 1;
105 foo.y = 2;
106 foo.a = false;
107 foo.b = true;
108 foo.c = false;
109 foo.bar = bar;
110 foo.extraBars = extraBars;
111 foo.data = data;
112
113 foo.source = Mojo.createMessagePipe().handle0;
114
115 return foo;
116 }
117
118 // Checks that the given |Foo| is identical to the one made by |makeFoo()|.
119 function checkFoo(foo) {
120 assert_equals(foo.name, "foopy");
121 assert_equals(foo.x, 1);
122 assert_equals(foo.y, 2);
123 assert_false(foo.a);
124 assert_true(foo.b);
125 assert_false(foo.c);
126 assert_equals(foo.bar.alpha, 20);
127 assert_equals(foo.bar.beta, 40);
128 assert_equals(foo.bar.gamma, 60);
129 assert_equals(foo.bar.type, sample.Bar.Type.VERTICAL);
130
131 assert_equals(foo.extraBars.length, 3);
132 for (var i = 0; i < foo.extraBars.length; ++i) {
133 var base = i * 100;
134 var type = i % 2 ? sample.Bar.Type.VERTICAL : sample.Bar.Type.HORIZONTAL;
135 assert_equals(foo.extraBars[i].alpha, base);
136 assert_equals(foo.extraBars[i].beta, base + 20);
137 assert_equals(foo.extraBars[i].gamma, base + 40);
138 assert_equals(foo.extraBars[i].type, type);
139 }
140
141 assert_equals(foo.data.length, 10);
142 for (var i = 0; i < foo.data.length; ++i)
143 assert_equals(foo.data[i], foo.data.length -i);
144
145 assert_true(foo.source instanceof MojoHandle);
146 }
159 </script> 147 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698