aboutsummaryrefslogtreecommitdiff
path: root/libs/utils/WordPressUtils/src/androidTest/java/org/wordpress/android/util/UrlUtilsTest.java
blob: abf7a8fae526cfca9d6dfe3662c48558bd9999cc (plain)
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package org.wordpress.android.util;

import android.test.InstrumentationTestCase;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;

public class UrlUtilsTest extends InstrumentationTestCase {
    public void testGetDomainFromUrlWithEmptyStringDoesNotReturnNull() {
        assertNotNull(UrlUtils.getHost(""));
    }

    public void testGetDomainFromUrlWithNoHostDoesNotReturnNull() {
        assertNotNull(UrlUtils.getHost("wordpress"));
    }

    public void testGetDomainFromUrlWithHostReturnsHost() {
        String url = "http://www.wordpress.com";
        String host = UrlUtils.getHost(url);

        assertTrue(host.equals("www.wordpress.com"));
    }

    public void testAppendUrlParameter1() {
        String url = UrlUtils.appendUrlParameter("http://wp.com/test", "preview", "true");
        assertEquals("http://wp.com/test?preview=true", url);
    }

    public void testAppendUrlParameter2() {
        String url = UrlUtils.appendUrlParameter("http://wp.com/test?q=pony", "preview", "true");
        assertEquals("http://wp.com/test?q=pony&preview=true", url);
    }

    public void testAppendUrlParameter3() {
        String url = UrlUtils.appendUrlParameter("http://wp.com/test?q=pony#unicorn", "preview", "true");
        assertEquals("http://wp.com/test?q=pony&preview=true#unicorn", url);
    }

    public void testAppendUrlParameter4() {
        String url = UrlUtils.appendUrlParameter("/relative/test", "preview", "true");
        assertEquals("/relative/test?preview=true", url);
    }

    public void testAppendUrlParameter5() {
        String url = UrlUtils.appendUrlParameter("/relative/", "preview", "true");
        assertEquals("/relative/?preview=true", url);
    }

    public void testAppendUrlParameter6() {
        String url = UrlUtils.appendUrlParameter("http://wp.com/test/", "preview", "true");
        assertEquals("http://wp.com/test/?preview=true", url);
    }

    public void testAppendUrlParameter7() {
        String url = UrlUtils.appendUrlParameter("http://wp.com/test/?q=pony", "preview", "true");
        assertEquals("http://wp.com/test/?q=pony&preview=true", url);
    }

    public void testAppendUrlParameters1() {
        Map<String, String> params = new HashMap<>();
        params.put("w", "200");
        params.put("h", "300");
        String url = UrlUtils.appendUrlParameters("http://wp.com/test", params);
        if (!url.equals("http://wp.com/test?h=300&w=200") && !url.equals("http://wp.com/test?w=200&h=300")) {
            assertTrue("failed test on url: " + url, false);
        }
    }

    public void testAppendUrlParameters2() {
        Map<String, String> params = new HashMap<>();
        params.put("h", "300");
        params.put("w", "200");
        String url = UrlUtils.appendUrlParameters("/relative/test", params);
        if (!url.equals("/relative/test?h=300&w=200") && !url.equals("/relative/test?w=200&h=300")) {
            assertTrue("failed test on url: " + url, false);
        }
    }

    public void testHttps1() {
        assertFalse(UrlUtils.isHttps(buildURL("http://wordpress.com/xmlrpc.php")));
    }

    public void testHttps2() {
        assertFalse(UrlUtils.isHttps(buildURL("http://wordpress.com#.b.com/test")));
    }

    public void testHttps3() {
        assertFalse(UrlUtils.isHttps(buildURL("http://wordpress.com/xmlrpc.php")));
    }

    public void testHttps4() {
        assertTrue(UrlUtils.isHttps(buildURL("https://wordpress.com")));
    }

    public void testHttps5() {
        assertTrue(UrlUtils.isHttps(buildURL("https://wordpress.com/test#test")));
    }

    private URL buildURL(String address) {
        URL url = null;
        try {
            url = new URL(address);
        } catch (MalformedURLException e) {}
        return url;
    }
}