diff options
Diffstat (limited to 'javatests/dagger/hilt/processor/internal/root/RootFileFormatterTest.java')
-rw-r--r-- | javatests/dagger/hilt/processor/internal/root/RootFileFormatterTest.java | 173 |
1 files changed, 0 insertions, 173 deletions
diff --git a/javatests/dagger/hilt/processor/internal/root/RootFileFormatterTest.java b/javatests/dagger/hilt/processor/internal/root/RootFileFormatterTest.java deleted file mode 100644 index 6d598c83f..000000000 --- a/javatests/dagger/hilt/processor/internal/root/RootFileFormatterTest.java +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Copyright (C) 2020 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.processor.internal.root; - -import static com.google.testing.compile.CompilationSubject.assertThat; -import static dagger.hilt.android.processor.AndroidCompilers.compiler; - -import com.google.common.base.Joiner; -import com.google.testing.compile.Compilation; -import com.google.testing.compile.JavaFileObjects; -import javax.tools.JavaFileObject; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; - -// This test makes sure we don't regress the formatting in the components file. -@RunWith(JUnit4.class) -public final class RootFileFormatterTest { - private static final Joiner JOINER = Joiner.on("\n"); - - @Test - public void testProdComponents() { - Compilation compilation = - compiler() - .compile( - JavaFileObjects.forSourceLines( - "test.TestApplication", - "package test;", - "", - "import android.app.Application;", - "import dagger.hilt.android.HiltAndroidApp;", - "", - "@HiltAndroidApp(Application.class)", - "public class TestApplication extends Hilt_TestApplication {}"), - entryPoint("SingletonComponent", "EntryPoint1"), - entryPoint("SingletonComponent", "EntryPoint2"), - entryPoint("ActivityComponent", "EntryPoint3"), - entryPoint("ActivityComponent", "EntryPoint4")); - assertThat(compilation).succeeded(); - assertThat(compilation) - .generatedSourceFile("test/TestApplication_HiltComponents") - .contentsAsUtf8String() - .contains( - JOINER.join( - " public abstract static class SingletonC implements" - + " HiltWrapper_ActivityRetainedComponentManager" - + "_ActivityRetainedComponentBuilderEntryPoint,", - " ServiceComponentManager.ServiceComponentBuilderEntryPoint,", - " SingletonComponent,", - " GeneratedComponent,", - " EntryPoint1,", - " EntryPoint2,", - " TestApplication_GeneratedInjector {")); - - assertThat(compilation) - .generatedSourceFile("test/TestApplication_HiltComponents") - .contentsAsUtf8String() - .contains( - JOINER.join( - " public abstract static class ActivityC implements ActivityComponent,", - " FragmentComponentManager.FragmentComponentBuilderEntryPoint,", - " ViewComponentManager.ViewComponentBuilderEntryPoint,", - " GeneratedComponent,", - " EntryPoint3,", - " EntryPoint4 {")); - } - - @Test - public void testTestComponents() { - Compilation compilation = - compiler() - .compile( - JavaFileObjects.forSourceLines( - "test.MyTest", - "package test;", - "", - "import dagger.hilt.android.testing.HiltAndroidTest;", - "", - "@HiltAndroidTest", - "public class MyTest {}"), - entryPoint("SingletonComponent", "EntryPoint1"), - entryPoint("SingletonComponent", "EntryPoint2"), - entryPoint("ActivityComponent", "EntryPoint3"), - entryPoint("ActivityComponent", "EntryPoint4")); - assertThat(compilation).succeeded(); - assertThat(compilation) - .generatedSourceFile("test/MyTest_HiltComponents") - .contentsAsUtf8String() - .contains( - JOINER.join( - " public abstract static class SingletonC implements" - + " HiltWrapper_ActivityRetainedComponentManager" - + "_ActivityRetainedComponentBuilderEntryPoint,", - " ServiceComponentManager.ServiceComponentBuilderEntryPoint,", - " SingletonComponent,", - " TestSingletonComponent,", - " EntryPoint1,", - " EntryPoint2,", - " MyTest_GeneratedInjector {")); - - assertThat(compilation) - .generatedSourceFile("test/MyTest_HiltComponents") - .contentsAsUtf8String() - .contains( - JOINER.join( - " public abstract static class ActivityC implements ActivityComponent,", - " FragmentComponentManager.FragmentComponentBuilderEntryPoint,", - " ViewComponentManager.ViewComponentBuilderEntryPoint,", - " GeneratedComponent,", - " EntryPoint3,", - " EntryPoint4 {")); - } - - @Test - public void testSharedTestComponents() { - Compilation compilation = - compiler() - .withOptions("-Adagger.hilt.shareTestComponents=true") - .compile( - JavaFileObjects.forSourceLines( - "test.MyTest", - "package test;", - "", - "import dagger.hilt.android.testing.HiltAndroidTest;", - "", - "@HiltAndroidTest", - "public class MyTest {}"), - entryPoint("SingletonComponent", "EntryPoint1")); - assertThat(compilation).succeeded(); - assertThat(compilation) - .generatedSourceFile("dagger/hilt/android/internal/testing/root/Default_HiltComponents") - .contentsAsUtf8String() - .contains( - JOINER.join( - " public abstract static class SingletonC implements" - + " HiltWrapper_ActivityRetainedComponentManager" - + "_ActivityRetainedComponentBuilderEntryPoint,", - " ServiceComponentManager.ServiceComponentBuilderEntryPoint,", - " SingletonComponent,", - " TestSingletonComponent,", - " EntryPoint1,", - " MyTest_GeneratedInjector {")); - } - - private static JavaFileObject entryPoint(String component, String name) { - return JavaFileObjects.forSourceLines( - "test." + name, - "package test;", - "", - "import dagger.hilt.EntryPoint;", - "import dagger.hilt.InstallIn;", - component.equals("SingletonComponent") ? "import dagger.hilt.components.SingletonComponent;" - : "import dagger.hilt.android.components." + component + ";", - "", - "@EntryPoint", - "@InstallIn(" + component + ".class)", - "public interface " + name + " {}"); - } -} |