diff --git a/.idea/compiler.xml b/.idea/compiler.xml index ce7c426..b589d56 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,8 +1,6 @@ - - - + \ No newline at end of file diff --git a/provider/build.gradle b/provider/build.gradle index 6d2c10f..9d37c68 100644 --- a/provider/build.gradle +++ b/provider/build.gradle @@ -27,6 +27,12 @@ android { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } + kotlinOptions { + jvmTarget = "17" + } + kotlin { + jvmToolchain(17) + } namespace 'com.raygun.raygun4android' diff --git a/provider/src/test/java/com/raygun/raygun4android/rum/RUMFragmentTest.kt b/provider/src/test/java/com/raygun/raygun4android/rum/RUMFragmentTest.kt index c18ec39..c0e7b45 100644 --- a/provider/src/test/java/com/raygun/raygun4android/rum/RUMFragmentTest.kt +++ b/provider/src/test/java/com/raygun/raygun4android/rum/RUMFragmentTest.kt @@ -4,6 +4,7 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager import com.raygun.raygun4android.RaygunRUMEventType import com.raygun.raygun4android.TestTree +import junit.framework.TestCase.fail import org.junit.After import org.junit.Before import org.junit.Test @@ -13,6 +14,7 @@ import org.mockito.Mockito.anyLong import org.mockito.Mockito.mock import org.mockito.junit.MockitoJUnitRunner import org.mockito.kotlin.any +import org.mockito.kotlin.eq import org.mockito.kotlin.verify import timber.log.Timber @@ -37,8 +39,20 @@ class RUMFragmentTest { val mockRUM = mock(RUM::class.java) val rumFragment = RUMFragment(mockRUM) val fragment = Fragment() + + // Simulate lifecycle from Created to Destroyed rumFragment.onFragmentCreated(mockFragmentManager, fragment, null) + rumFragment.onFragmentStarted(mockFragmentManager, fragment) rumFragment.onFragmentResumed(mockFragmentManager, fragment) - verify(mockRUM).sendRUMTimingEvent(RaygunRUMEventType.FRAGMENT_LOADED, "Fragment", anyLong()) + rumFragment.onFragmentPaused(mockFragmentManager, fragment) + rumFragment.onFragmentStopped(mockFragmentManager, fragment) + rumFragment.onFragmentDestroyed(mockFragmentManager, fragment) + + // onFragmentResumed should have called to sendRUMTimingEvent + verify(mockRUM).sendRUMTimingEvent( + eq(RaygunRUMEventType.FRAGMENT_LOADED), + eq("Fragment"), + anyLong() + ) } } \ No newline at end of file