aboutsummaryrefslogtreecommitdiff
path: root/javatests/dagger/hilt/android/internal
diff options
context:
space:
mode:
Diffstat (limited to 'javatests/dagger/hilt/android/internal')
-rw-r--r--javatests/dagger/hilt/android/internal/managers/AndroidManifest.xml11
-rw-r--r--javatests/dagger/hilt/android/internal/managers/BUILD39
-rw-r--r--javatests/dagger/hilt/android/internal/managers/FragmentContextWrapperLeakTest.java74
3 files changed, 0 insertions, 124 deletions
diff --git a/javatests/dagger/hilt/android/internal/managers/AndroidManifest.xml b/javatests/dagger/hilt/android/internal/managers/AndroidManifest.xml
deleted file mode 100644
index cc5128efd..000000000
--- a/javatests/dagger/hilt/android/internal/managers/AndroidManifest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="dagger.hilt.android.internal.managers">
-
- <uses-sdk android:minSdkVersion="14" />
-
- <application>
- <activity
- android:name=".FragmentContextWrapperLeakTest$TestActivity"
- android:exported="false"/>
- </application>
-</manifest>
diff --git a/javatests/dagger/hilt/android/internal/managers/BUILD b/javatests/dagger/hilt/android/internal/managers/BUILD
deleted file mode 100644
index ff4f432f7..000000000
--- a/javatests/dagger/hilt/android/internal/managers/BUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (C) 2021 The Dagger Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# Description:
-# Tests for internal code for implementing Hilt processors.
-
-package(default_visibility = ["//:src"])
-
-android_local_test(
- name = "FragmentContextWrapperLeakTest",
- size = "small",
- srcs = ["FragmentContextWrapperLeakTest.java"],
- manifest = "AndroidManifest.xml",
- manifest_values = {
- "minSdkVersion": "14",
- },
- deps = [
- "//:android_local_test_exports",
- "//:dagger_with_compiler",
- "@google_bazel_common//third_party/java/jsr330_inject",
- "@maven//:junit_junit",
- "@google_bazel_common//third_party/java/truth",
- "//java/dagger/hilt:entry_point",
- "//java/dagger/hilt:install_in",
- "//java/dagger/hilt/android:android_entry_point",
- "//java/dagger/hilt/android/lifecycle",
- "//java/dagger/hilt/android/testing:hilt_android_test",
- ],
-)
diff --git a/javatests/dagger/hilt/android/internal/managers/FragmentContextWrapperLeakTest.java b/javatests/dagger/hilt/android/internal/managers/FragmentContextWrapperLeakTest.java
deleted file mode 100644
index 38086c6aa..000000000
--- a/javatests/dagger/hilt/android/internal/managers/FragmentContextWrapperLeakTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2021 The Dagger Authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package dagger.hilt.android.internal.managers;
-
-import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.assertThrows;
-
-import androidx.lifecycle.Lifecycle;
-import android.os.Build;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-import androidx.test.core.app.ActivityScenario;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-import dagger.hilt.android.AndroidEntryPoint;
-import dagger.hilt.android.internal.managers.ViewComponentManager.FragmentContextWrapper;
-import dagger.hilt.android.testing.HiltAndroidRule;
-import dagger.hilt.android.testing.HiltAndroidTest;
-import dagger.hilt.android.testing.HiltTestApplication;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.annotation.Config;
-
-@HiltAndroidTest
-@RunWith(AndroidJUnit4.class)
-// Robolectric requires Java9 to run API 29 and above, so use API 28 instead
-@Config(sdk = Build.VERSION_CODES.P, application = HiltTestApplication.class)
-public final class FragmentContextWrapperLeakTest {
- /** An activity to test injection. */
- @AndroidEntryPoint(FragmentActivity.class)
- public static final class TestActivity extends Hilt_FragmentContextWrapperLeakTest_TestActivity {}
-
- /** A fragment to test injection. */
- @AndroidEntryPoint(Fragment.class)
- public static final class TestFragment extends Hilt_FragmentContextWrapperLeakTest_TestFragment {}
-
- @Rule public HiltAndroidRule hiltRule = new HiltAndroidRule(this);
-
- @Test
- public void testFragmentContextWrapperDoesNotLeakFragment() {
- try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
- TestFragment fragment = new TestFragment();
- scenario.onActivity(
- activity ->
- activity
- .getSupportFragmentManager()
- .beginTransaction()
- .add(fragment, "TestFragment")
- .commitNow());
-
- FragmentContextWrapper fragmentContextWrapper =
- (FragmentContextWrapper) fragment.getContext();
- assertThat(fragmentContextWrapper.getFragment()).isEqualTo(fragment);
- scenario.moveToState(Lifecycle.State.DESTROYED);
- NullPointerException exception =
- assertThrows(NullPointerException.class, fragmentContextWrapper::getFragment);
- assertThat(exception).hasMessageThat().contains("The fragment has already been destroyed");
- }
- }
-}