1990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson/*
2990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson * Copyright (C) 2008 The Android Open Source Project
3990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson *
4990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson * Licensed under the Apache License, Version 2.0 (the "License");
5990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson * you may not use this file except in compliance with the License.
6990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson * You may obtain a copy of the License at
7990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson *
8990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson *      http://www.apache.org/licenses/LICENSE-2.0
9990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson *
10990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson * Unless required by applicable law or agreed to in writing, software
11990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson * distributed under the License is distributed on an "AS IS" BASIS,
12990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson * See the License for the specific language governing permissions and
14990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson * limitations under the License.
15990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson */
16990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson
17990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilsonpackage libcore.java.net;
18990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson
19990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilsonimport java.net.URI;
20990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilsonimport java.net.URISyntaxException;
21990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilsonimport junit.framework.TestCase;
22990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson
23990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilsonpublic class OldAndroidURITest extends TestCase {
24990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson
25990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson    public void testConstruct() throws Exception {
26990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson        construct("http://www.google.com/this/is-the/path?query#fragment",
27990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson                "www.google.com", "/this/is-the/path", true);
28990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson    }
29990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson
30990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson    private static void construct(String str, String host, String path, boolean absolute)
31990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson            throws URISyntaxException {
32990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson        URI uri = new URI(str);
33990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson        assertEquals(host, uri.getHost());
34990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson        assertEquals(path, uri.getPath());
35990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson        assertEquals(absolute, uri.isAbsolute());
36990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson    }
37990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson
38990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson    public void testResolve() throws Exception {
39990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson        resolve("http://www.google.com/your",
40990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson                "mom",
41990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson                "http://www.google.com/mom");
42990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson    }
43990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson
44990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson    private static void resolve(String base, String uri, String expected) {
45990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson        URI b = URI.create(base);
46990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson        URI resolved = b.resolve(uri);
47990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson        assertEquals(expected, resolved.toString());
48990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson    }
49990640f1775dc6f429a5f8b9fc6cab6b4220c03aJesse Wilson}
50