diff options
Diffstat (limited to 'javatests/dagger/hilt/android/internal')
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"); - } - } -} |