1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package libcore.net.url;
import junit.framework.TestCase;
public final class UrlUtilsTest extends TestCase {
public void testCanonicalizePath() {
assertEquals("", UrlUtils.canonicalizePath("", true));
assertEquals("", UrlUtils.canonicalizePath(".", true));
assertEquals("", UrlUtils.canonicalizePath("..", true));
assertEquals("...", UrlUtils.canonicalizePath("...", true));
assertEquals("", UrlUtils.canonicalizePath("./", true));
assertEquals("", UrlUtils.canonicalizePath("../", true));
assertEquals("a", UrlUtils.canonicalizePath("../a", true));
assertEquals("a", UrlUtils.canonicalizePath("a", true));
assertEquals("a/", UrlUtils.canonicalizePath("a/", true));
assertEquals("a/", UrlUtils.canonicalizePath("a/.", true));
assertEquals("a/b", UrlUtils.canonicalizePath("a/./b", true));
assertEquals("", UrlUtils.canonicalizePath("a/..", true));
assertEquals("b", UrlUtils.canonicalizePath("a/../b", true));
assertEquals("a/.../b", UrlUtils.canonicalizePath("a/.../b", true));
assertEquals("a/b", UrlUtils.canonicalizePath("a/b", true));
assertEquals("a/b/", UrlUtils.canonicalizePath("a/b/.", true));
assertEquals("a/b/", UrlUtils.canonicalizePath("a/b/./", true));
assertEquals("a/b/c", UrlUtils.canonicalizePath("a/b/./c", true));
assertEquals("a/", UrlUtils.canonicalizePath("a/b/..", true));
assertEquals("a/", UrlUtils.canonicalizePath("a/b/../", true));
assertEquals("a//", UrlUtils.canonicalizePath("a/b/..//", true));
assertEquals("a/c", UrlUtils.canonicalizePath("a/b/../c", true));
assertEquals("a//c", UrlUtils.canonicalizePath("a/b/..//c", true));
assertEquals("c", UrlUtils.canonicalizePath("a/b/../../c", true));
assertEquals("/", UrlUtils.canonicalizePath("/", true));
assertEquals("//", UrlUtils.canonicalizePath("//", true));
assertEquals("/", UrlUtils.canonicalizePath("/.", true));
assertEquals("/", UrlUtils.canonicalizePath("/./", true));
assertEquals("", UrlUtils.canonicalizePath("/..", true));
assertEquals("c", UrlUtils.canonicalizePath("/../c", true));
assertEquals("/a/b/c", UrlUtils.canonicalizePath("/a/b/c", true));
}
public void testGetProtocolPrefix() {
assertEquals("http", UrlUtils.getSchemePrefix("http:"));
assertEquals("http", UrlUtils.getSchemePrefix("HTTP:"));
assertEquals("http", UrlUtils.getSchemePrefix("http:x"));
assertEquals("a", UrlUtils.getSchemePrefix("a:"));
assertEquals("z", UrlUtils.getSchemePrefix("z:"));
assertEquals("a", UrlUtils.getSchemePrefix("A:"));
assertEquals("z", UrlUtils.getSchemePrefix("Z:"));
assertEquals("h0", UrlUtils.getSchemePrefix("h0:"));
assertEquals("h5", UrlUtils.getSchemePrefix("h5:"));
assertEquals("h9", UrlUtils.getSchemePrefix("h9:"));
assertEquals("h+", UrlUtils.getSchemePrefix("h+:"));
assertEquals("h-", UrlUtils.getSchemePrefix("h-:"));
assertEquals("h.", UrlUtils.getSchemePrefix("h.:"));
}
public void testGetProtocolPrefixInvalidScheme() {
assertNull(UrlUtils.getSchemePrefix(""));
assertNull(UrlUtils.getSchemePrefix("http"));
assertNull(UrlUtils.getSchemePrefix(":"));
assertNull(UrlUtils.getSchemePrefix("+:"));
assertNull(UrlUtils.getSchemePrefix("-:"));
assertNull(UrlUtils.getSchemePrefix(".:"));
assertNull(UrlUtils.getSchemePrefix("0:"));
assertNull(UrlUtils.getSchemePrefix("5:"));
assertNull(UrlUtils.getSchemePrefix("9:"));
assertNull(UrlUtils.getSchemePrefix("http//"));
assertNull(UrlUtils.getSchemePrefix("http/:"));
assertNull(UrlUtils.getSchemePrefix("ht tp://"));
assertNull(UrlUtils.getSchemePrefix(" http://"));
assertNull(UrlUtils.getSchemePrefix("http ://"));
assertNull(UrlUtils.getSchemePrefix(":://"));
}
}
|