• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2021 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 package org.chromium.url;
6 
7 import org.junit.Assert;
8 import org.junit.Test;
9 import org.junit.runner.RunWith;
10 import org.robolectric.annotation.Config;
11 
12 import org.chromium.base.test.BaseRobolectricTestRunner;
13 
14 /** Tests of {@link ShadowGURL}. */
15 @RunWith(BaseRobolectricTestRunner.class)
16 @Config(shadows = {ShadowGURL.class})
17 public class ShadowGURLTest {
deepAssertEquals(GURL expected, GURL actual)18     /* package */ static void deepAssertEquals(GURL expected, GURL actual) {
19         Assert.assertEquals(expected, actual);
20         Assert.assertEquals(expected.getScheme(), actual.getScheme());
21         Assert.assertEquals(expected.getUsername(), actual.getUsername());
22         Assert.assertEquals(expected.getPassword(), actual.getPassword());
23         Assert.assertEquals(expected.getHost(), actual.getHost());
24         Assert.assertEquals(expected.getPort(), actual.getPort());
25         Assert.assertEquals(expected.getPath(), actual.getPath());
26         Assert.assertEquals(expected.getQuery(), actual.getQuery());
27         Assert.assertEquals(expected.getRef(), actual.getRef());
28     }
29 
30     @Test
testComponents()31     public void testComponents() {
32         GURL url = new GURL(JUnitTestGURLs.SEARCH_URL);
33         Assert.assertFalse(url.isEmpty());
34         Assert.assertTrue(url.isValid());
35 
36         Assert.assertEquals(JUnitTestGURLs.SEARCH_URL, url.getSpec());
37         Assert.assertEquals("https", url.getScheme());
38         Assert.assertEquals("", url.getUsername());
39         Assert.assertEquals("", url.getPassword());
40         Assert.assertEquals("www.google.com", url.getHost());
41         Assert.assertEquals("", url.getPort());
42         Assert.assertEquals("/search", url.getPath());
43         Assert.assertEquals("q=test", url.getQuery());
44         Assert.assertEquals("", url.getRef());
45     }
46 
47     @Test
testEmpty()48     public void testEmpty() {
49         GURL url = new GURL("");
50         Assert.assertFalse(url.isValid());
51 
52         Assert.assertEquals("", url.getSpec());
53         Assert.assertEquals("", url.getScheme());
54         Assert.assertEquals("", url.getUsername());
55         Assert.assertEquals("", url.getPassword());
56         Assert.assertEquals("", url.getHost());
57         Assert.assertEquals("", url.getPort());
58         Assert.assertEquals("", url.getPath());
59         Assert.assertEquals("", url.getQuery());
60         Assert.assertEquals("", url.getRef());
61     }
62 
63     @Test
testSerialization()64     public void testSerialization() {
65         GURL gurl = new GURL(JUnitTestGURLs.URL_1_WITH_PATH);
66         GURL deserialized = GURL.deserialize(gurl.serialize());
67 
68         deepAssertEquals(deserialized, gurl);
69     }
70 }
71