OLD | NEW |
| (Empty) |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS d.file | |
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. | |
4 | |
5 library pub_tests; | |
6 | |
7 import 'package:json_rpc_2/error_code.dart' as rpc_error_code; | |
8 import 'package:scheduled_test/scheduled_test.dart'; | |
9 | |
10 import '../../descriptor.dart' as d; | |
11 import '../../test_pub.dart'; | |
12 import '../utils.dart'; | |
13 | |
14 main() { | |
15 initConfig(); | |
16 | |
17 setUp(() { | |
18 d.dir( | |
19 appPath, | |
20 [d.appPubspec(), d.dir("web", [d.file("index.html", "<body>")])]).create
(); | |
21 }); | |
22 | |
23 integration("responds with an error if 'path' is not a string", () { | |
24 pubServe(); | |
25 expectWebSocketError("unserveDirectory", { | |
26 "path": 123 | |
27 }, | |
28 rpc_error_code.INVALID_PARAMS, | |
29 'Parameter "path" for method "unserveDirectory" must be a string, but ' | |
30 'was 123.'); | |
31 endPubServe(); | |
32 }); | |
33 | |
34 integration("responds with an error if 'path' is absolute", () { | |
35 pubServe(); | |
36 expectWebSocketError("unserveDirectory", { | |
37 "path": "/absolute.txt" | |
38 }, | |
39 rpc_error_code.INVALID_PARAMS, | |
40 '"path" must be a relative path. Got "/absolute.txt".'); | |
41 endPubServe(); | |
42 }); | |
43 | |
44 integration("responds with an error if 'path' reaches out", () { | |
45 pubServe(); | |
46 expectWebSocketError("unserveDirectory", { | |
47 "path": "a/../../bad.txt" | |
48 }, | |
49 rpc_error_code.INVALID_PARAMS, | |
50 '"path" cannot reach out of its containing directory. Got ' | |
51 '"a/../../bad.txt".'); | |
52 endPubServe(); | |
53 }); | |
54 } | |
OLD | NEW |