1 package expo.modules.devlauncher.helpers
2 
3 import android.net.Uri
4 import com.google.common.truth.Truth
5 import org.junit.Test
6 import org.junit.runner.RunWith
7 import org.robolectric.RobolectricTestRunner
8 
9 @RunWith(RobolectricTestRunner::class)
10 internal class DevLauncherURLHelperTest {
11   @Test
tests changeUrlSchemenull12   fun `tests changeUrlScheme`() {
13     val expoUri = Uri.parse("exp://localhost:1999")
14     val httpsUri = Uri.parse("https://google.com")
15     val uriWithPath = Uri.parse("https://expo.io/path")
16 
17     val expoParsedUri = replaceEXPScheme(expoUri, "http")
18     val httpsParsedUri = replaceEXPScheme(httpsUri, "http")
19     val parsedUriWithPath = replaceEXPScheme(uriWithPath, "http")
20 
21     Truth.assertThat(expoParsedUri.scheme).isEqualTo("http")
22     Truth.assertThat(expoParsedUri.host).isEqualTo("localhost")
23     Truth.assertThat(expoParsedUri.port).isEqualTo(1999)
24 
25     Truth.assertThat(httpsParsedUri.scheme).isEqualTo("https")
26     Truth.assertThat(httpsParsedUri.host).isEqualTo("google.com")
27 
28     Truth.assertThat(parsedUriWithPath.scheme).isEqualTo("https")
29     Truth.assertThat(parsedUriWithPath.host).isEqualTo("expo.io")
30     Truth.assertThat(parsedUriWithPath.path).isEqualTo("/path")
31   }
32 
33   @Test
tests isDevLauncherUrlnull34   fun `tests isDevLauncherUrl`() {
35     Truth.assertThat(
36       isDevLauncherUrl(
37         Uri.parse("exp://expo-development-client")
38       )
39     ).isTrue()
40 
41     Truth.assertThat(
42       isDevLauncherUrl(
43         Uri.parse("exp://not-expo-development-client")
44       )
45     ).isFalse()
46   }
47 }
48