OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 // | 4 // |
5 // VMOptions= | 5 // VMOptions= |
6 // VMOptions=--short_socket_read | 6 // VMOptions=--short_socket_read |
7 // VMOptions=--short_socket_write | 7 // VMOptions=--short_socket_write |
8 // VMOptions=--short_socket_read --short_socket_write | 8 // VMOptions=--short_socket_read --short_socket_write |
9 | 9 |
10 import "package:expect/expect.dart"; | 10 import "package:expect/expect.dart"; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 void testResponseDone() { | 56 void testResponseDone() { |
57 testServerRequest((server, request) { | 57 testServerRequest((server, request) { |
58 request.response.close(); | 58 request.response.close(); |
59 request.response.done.then((response) { | 59 request.response.done.then((response) { |
60 Expect.equals(request.response, response); | 60 Expect.equals(request.response, response); |
61 server.close(); | 61 server.close(); |
62 }); | 62 }); |
63 }); | 63 }); |
64 | 64 |
65 testServerRequest((server, request) { | 65 testServerRequest((server, request) { |
66 new File("__nonexistent_file_").openRead().pipe(request.response) | 66 new File("__not_exitsing_file_").openRead().pipe(request.response) |
67 .catchError((e) { | 67 .catchError((e) { |
68 server.close(); | 68 server.close(); |
69 }); | 69 }); |
70 }); | 70 }); |
71 | 71 |
72 testServerRequest((server, request) { | 72 testServerRequest((server, request) { |
73 request.response.done.then((_) { | 73 request.response.done.then((_) { |
74 server.close(); | 74 server.close(); |
75 }); | 75 }); |
76 request.response.contentLength = 0; | 76 request.response.contentLength = 0; |
77 request.response.close(); | 77 request.response.close(); |
78 }); | 78 }); |
79 } | 79 } |
80 | 80 |
81 | 81 |
82 void testResponseAddStream() { | 82 void testResponseAddStream() { |
83 File file = new File(Platform.script.toFilePath()); | 83 int bytes = new File(Platform.script).lengthSync(); |
84 int bytes = file.lengthSync(); | |
85 | 84 |
86 testServerRequest((server, request) { | 85 testServerRequest((server, request) { |
87 request.response.addStream(file.openRead()) | 86 request.response.addStream(new File(Platform.script).openRead()) |
88 .then((response) { | 87 .then((response) { |
89 response.close(); | 88 response.close(); |
90 response.done.then((_) => server.close()); | 89 response.done.then((_) => server.close()); |
91 }); | 90 }); |
92 }, bytes: bytes); | 91 }, bytes: bytes); |
93 | 92 |
94 testServerRequest((server, request) { | 93 testServerRequest((server, request) { |
95 request.response.addStream(file.openRead()) | 94 request.response.addStream(new File(Platform.script).openRead()) |
96 .then((response) { | 95 .then((response) { |
97 request.response.addStream(file.openRead()) | 96 request.response.addStream(new File(Platform.script).openRead()) |
98 .then((response) { | 97 .then((response) { |
99 response.close(); | 98 response.close(); |
100 response.done.then((_) => server.close()); | 99 response.done.then((_) => server.close()); |
101 }); | 100 }); |
102 }); | 101 }); |
103 }, bytes: bytes * 2); | 102 }, bytes: bytes * 2); |
104 | 103 |
105 testServerRequest((server, request) { | 104 testServerRequest((server, request) { |
106 var controller = new StreamController(sync: true); | 105 var controller = new StreamController(sync: true); |
107 request.response.addStream(controller.stream) | 106 request.response.addStream(controller.stream) |
108 .then((response) { | 107 .then((response) { |
109 response.close(); | 108 response.close(); |
110 response.done.then((_) => server.close()); | 109 response.done.then((_) => server.close()); |
111 }); | 110 }); |
112 controller.close(); | 111 controller.close(); |
113 }, bytes: 0); | 112 }, bytes: 0); |
114 | 113 |
115 testServerRequest((server, request) { | 114 testServerRequest((server, request) { |
116 request.response.addStream(new File("__nonexistent_file_").openRead()) | 115 request.response.addStream(new File("__not_exitsing_file_").openRead()) |
117 .catchError((e) { | 116 .catchError((e) { |
118 server.close(); | 117 server.close(); |
119 }); | 118 }); |
120 }); | 119 }); |
121 | 120 |
122 testServerRequest((server, request) { | 121 testServerRequest((server, request) { |
123 new File("__nonexistent_file_").openRead().pipe(request.response) | 122 new File("__not_exitsing_file_").openRead().pipe(request.response) |
124 .catchError((e) { | 123 .catchError((e) { |
125 server.close(); | 124 server.close(); |
126 }); | 125 }); |
127 }); | 126 }); |
128 } | 127 } |
129 | 128 |
130 | 129 |
131 void testResponseAddStreamClosed() { | 130 void testResponseAddStreamClosed() { |
132 File file = new File(Platform.script.toFilePath()); | |
133 testServerRequest((server, request) { | 131 testServerRequest((server, request) { |
134 request.response.addStream(file.openRead()) | 132 request.response.addStream(new File(Platform.script).openRead()) |
135 .then((response) { | 133 .then((response) { |
136 response.close(); | 134 response.close(); |
137 response.done.then((_) => server.close()); | 135 response.done.then((_) => server.close()); |
138 }); | 136 }); |
139 }, closeClient: true); | 137 }, closeClient: true); |
140 | 138 |
141 testServerRequest((server, request) { | 139 testServerRequest((server, request) { |
142 int count = 0; | 140 int count = 0; |
143 write() { | 141 write() { |
144 request.response.addStream(file.openRead()) | 142 request.response.addStream(new File(Platform.script).openRead()) |
145 .then((response) { | 143 .then((response) { |
146 request.response.write("sync data"); | 144 request.response.write("sync data"); |
147 count++; | 145 count++; |
148 if (count < 1000) { | 146 if (count < 1000) { |
149 write(); | 147 write(); |
150 } else { | 148 } else { |
151 response.close(); | 149 response.close(); |
152 response.done.then((_) => server.close()); | 150 response.done.then((_) => server.close()); |
153 } | 151 } |
154 }); | 152 }); |
155 } | 153 } |
156 write(); | 154 write(); |
157 }, closeClient: true); | 155 }, closeClient: true); |
158 } | 156 } |
159 | 157 |
160 | 158 |
161 void testResponseAddClosed() { | 159 void testResponseAddClosed() { |
162 File file = new File(Platform.script.toFilePath()); | |
163 testServerRequest((server, request) { | 160 testServerRequest((server, request) { |
164 request.response.add(file.readAsBytesSync()); | 161 request.response.add(new File(Platform.script).readAsBytesSync()); |
165 request.response.close(); | 162 request.response.close(); |
166 request.response.done.then((_) => server.close()); | 163 request.response.done.then((_) => server.close()); |
167 }, closeClient: true); | 164 }, closeClient: true); |
168 | 165 |
169 testServerRequest((server, request) { | 166 testServerRequest((server, request) { |
170 for (int i = 0; i < 1000; i++) { | 167 for (int i = 0; i < 1000; i++) { |
171 request.response.add(file.readAsBytesSync()); | 168 request.response.add(new File(Platform.script).readAsBytesSync()); |
172 } | 169 } |
173 request.response.close(); | 170 request.response.close(); |
174 request.response.done.then((_) => server.close()); | 171 request.response.done.then((_) => server.close()); |
175 }, closeClient: true); | 172 }, closeClient: true); |
176 | 173 |
177 testServerRequest((server, request) { | 174 testServerRequest((server, request) { |
178 int count = 0; | 175 int count = 0; |
179 write() { | 176 write() { |
180 request.response.add(file.readAsBytesSync()); | 177 request.response.add(new File(Platform.script).readAsBytesSync()); |
181 Timer.run(() { | 178 Timer.run(() { |
182 count++; | 179 count++; |
183 if (count < 1000) { | 180 if (count < 1000) { |
184 write(); | 181 write(); |
185 } else { | 182 } else { |
186 request.response.close(); | 183 request.response.close(); |
187 request. response.done.then((_) => server.close()); | 184 request. response.done.then((_) => server.close()); |
188 } | 185 } |
189 }); | 186 }); |
190 } | 187 } |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
276 | 273 |
277 void main() { | 274 void main() { |
278 testResponseDone(); | 275 testResponseDone(); |
279 testResponseAddStream(); | 276 testResponseAddStream(); |
280 testResponseAddStreamClosed(); | 277 testResponseAddStreamClosed(); |
281 testResponseAddClosed(); | 278 testResponseAddClosed(); |
282 testBadResponseAdd(); | 279 testBadResponseAdd(); |
283 testBadResponseClose(); | 280 testBadResponseClose(); |
284 testIgnoreRequestData(); | 281 testIgnoreRequestData(); |
285 } | 282 } |
OLD | NEW |