1package de.gultsch.common;
2
3import com.google.common.collect.ImmutableMap;
4import org.junit.Assert;
5import org.junit.Test;
6
7public class MiniUriTest {
8
9 @Test
10 public void httpsUrl() {
11 final var miniUri = new MiniUri("https://example.com");
12 Assert.assertEquals("https", miniUri.getScheme());
13 Assert.assertEquals("example.com", miniUri.getAuthority());
14 Assert.assertNull(miniUri.getPath());
15 }
16
17 @Test
18 public void httpsUrlHtml() {
19 final var miniUri = new MiniUri("https://example.com/test.html");
20 Assert.assertEquals("https", miniUri.getScheme());
21 Assert.assertEquals("example.com", miniUri.getAuthority());
22 Assert.assertEquals("/test.html", miniUri.getPath());
23 }
24
25 @Test
26 public void httpsUrlCgiFooBar() {
27 final var miniUri = new MiniUri("https://example.com/test.cgi?foo=bar");
28 Assert.assertEquals("https", miniUri.getScheme());
29 Assert.assertEquals("example.com", miniUri.getAuthority());
30 Assert.assertEquals("/test.cgi", miniUri.getPath());
31 Assert.assertEquals(ImmutableMap.of("foo", "bar"), miniUri.getParameter());
32 }
33
34 @Test
35 public void xmppUri() {
36 final var miniUri = new MiniUri("xmpp:user@example.com");
37 Assert.assertEquals("xmpp", miniUri.getScheme());
38 Assert.assertNull(miniUri.getAuthority());
39 Assert.assertEquals("user@example.com", miniUri.getPath());
40 }
41
42 @Test
43 public void xmppUriJoin() {
44 final var miniUri = new MiniUri("xmpp:room@chat.example.com?join");
45 Assert.assertEquals("xmpp", miniUri.getScheme());
46 Assert.assertNull(miniUri.getAuthority());
47 Assert.assertEquals("room@chat.example.com", miniUri.getPath());
48 Assert.assertEquals(ImmutableMap.of("join", ""), miniUri.getParameter());
49 }
50
51 @Test
52 public void xmppUriMessage() {
53 final var miniUri =
54 new MiniUri("xmpp:romeo@montague.net?message;body=Here%27s%20a%20test%20message");
55 Assert.assertEquals("xmpp", miniUri.getScheme());
56 Assert.assertNull(miniUri.getAuthority());
57 Assert.assertEquals("romeo@montague.net", miniUri.getPath());
58 Assert.assertEquals(
59 ImmutableMap.of("message", "", "body", "Here's a test message"),
60 miniUri.getParameter());
61 }
62}