Skip to content

Commit c84b71a

Browse files
authored
Merge pull request #634 from square/ray/upgrades
Upgrades leak canary, testing, androidx lifecycle.
2 parents 90ec1e4 + 03ab545 commit c84b71a

File tree

31 files changed

+158
-69
lines changed

31 files changed

+158
-69
lines changed

.buildscript/android-ui-tests.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
android {
22
defaultConfig {
33
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
4-
testInstrumentationRunnerArgument "listener", "leakcanary.FailTestOnLeakRunListener"
54
}
65

76
testOptions {

buildSrc/src/main/java/Dependencies.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ object Dependencies {
2525
const val ui = "androidx.compose.ui:ui:1.1.0-rc01"
2626
}
2727

28-
const val constraint_layout = "androidx.constraintlayout:constraintlayout:2.1.0"
28+
const val constraint_layout = "androidx.constraintlayout:constraintlayout:2.1.2"
2929
const val fragment = "androidx.fragment:fragment:1.3.6"
3030
const val fragmentKtx = "androidx.fragment:fragment-ktx:1.3.6"
3131
const val gridlayout = "androidx.gridlayout:gridlayout:1.0.0"
3232

3333
object Lifecycle {
34-
const val ktx = "androidx.lifecycle:lifecycle-runtime-ktx:2.3.1"
35-
const val viewModel = "androidx.lifecycle:lifecycle-viewmodel:2.3.1"
36-
const val viewModelKtx = "androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1"
34+
const val ktx = "androidx.lifecycle:lifecycle-runtime-ktx:2.4.0"
35+
const val viewModel = "androidx.lifecycle:lifecycle-viewmodel:2.4.0"
36+
const val viewModelKtx = "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0"
3737
const val viewModelSavedState = "androidx.lifecycle:lifecycle-viewmodel-savedstate:1.1.0"
3838
}
3939

@@ -53,7 +53,7 @@ object Dependencies {
5353

5454
// Required for Dungeon Crawler sample.
5555
const val desugar_jdk_libs = "com.android.tools:desugar_jdk_libs:1.1.5"
56-
const val leakcanary = "com.squareup.leakcanary:leakcanary-android:2.7"
56+
const val leakcanary = "com.squareup.leakcanary:leakcanary-android:2.8.1"
5757
const val radiography = "com.squareup.radiography:radiography:2.4.0"
5858
const val rxandroid2 = "io.reactivex.rxjava2:rxandroid:2.1.1"
5959
const val seismic = "com.squareup:seismic:1.0.2"
@@ -126,23 +126,23 @@ object Dependencies {
126126
object AndroidX {
127127
const val compose = "androidx.compose.ui:ui-test-junit4:1.0.1"
128128
const val core = "androidx.test:core:1.3.0"
129-
const val lifecycle = "androidx.lifecycle:lifecycle-runtime-testing:2.3.1"
129+
const val lifecycle = "androidx.lifecycle:lifecycle-runtime-testing:2.4.0"
130130

131131
object Espresso {
132132
const val core = "androidx.test.espresso:espresso-core:3.3.0"
133133
const val idlingResource = "androidx.test.espresso:espresso-idling-resource:3.3.0"
134134
const val intents = "androidx.test.espresso:espresso-intents:3.3.0"
135135
}
136136

137-
const val junitExt = "androidx.test.ext:junit:1.1.2"
138-
const val runner = "androidx.test:runner:1.3.0"
139-
const val truthExt = "androidx.test.ext:truth:1.3.0"
137+
const val junitExt = "androidx.test.ext:junit:1.1.3"
138+
const val runner = "androidx.test:runner:1.4.0"
139+
const val truthExt = "androidx.test.ext:truth:1.4.0"
140140
const val uiautomator = "androidx.test.uiautomator:uiautomator:2.2.0"
141141
}
142142

143143
const val hamcrestCore = "org.hamcrest:hamcrest-core:2.2"
144144
const val junit = "junit:junit:4.13.2"
145-
const val leakcanaryInstrumentation = "com.squareup.leakcanary:leakcanary-android-instrumentation:2.7"
145+
const val leakcanaryInstrumentation = "com.squareup.leakcanary:leakcanary-android-instrumentation:2.8.1"
146146
const val mockito = "org.mockito:mockito-core:3.3.3"
147147
const val robolectric = "org.robolectric:robolectric:4.5.1"
148148
const val truth = "com.google.truth:truth:1.1.3"

samples/compose-samples/src/androidTest/java/com/squareup/sample/compose/hellocompose/HelloComposeTest.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,20 @@ import androidx.compose.ui.test.performClick
77
import androidx.test.ext.junit.runners.AndroidJUnit4
88
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
99
import com.squareup.workflow1.ui.internal.test.IdleAfterTestRule
10+
import leakcanary.DetectLeaksAfterTestSuccess
1011
import org.junit.Rule
1112
import org.junit.Test
13+
import org.junit.rules.RuleChain
1214
import org.junit.runner.RunWith
1315

1416
@RunWith(AndroidJUnit4::class)
1517
@OptIn(WorkflowUiExperimentalApi::class)
1618
class HelloComposeTest {
1719

18-
@get:Rule val composeRule = createAndroidComposeRule<HelloComposeActivity>()
19-
@get:Rule val idleAfterTest = IdleAfterTestRule
20+
private val composeRule = createAndroidComposeRule<HelloComposeActivity>()
21+
@get:Rule val rules: RuleChain = RuleChain.outerRule(DetectLeaksAfterTestSuccess())
22+
.around(IdleAfterTestRule)
23+
.around(composeRule)
2024

2125
@Test fun togglesBetweenStates() {
2226
composeRule.onNodeWithText("Hello")

samples/compose-samples/src/androidTest/java/com/squareup/sample/compose/hellocomposebinding/HelloBindingTest.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,20 @@ import androidx.compose.ui.test.performClick
77
import androidx.test.ext.junit.runners.AndroidJUnit4
88
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
99
import com.squareup.workflow1.ui.internal.test.IdleAfterTestRule
10+
import leakcanary.DetectLeaksAfterTestSuccess
1011
import org.junit.Rule
1112
import org.junit.Test
13+
import org.junit.rules.RuleChain
1214
import org.junit.runner.RunWith
1315

1416
@RunWith(AndroidJUnit4::class)
1517
@OptIn(WorkflowUiExperimentalApi::class)
1618
class HelloBindingTest {
1719

18-
@get:Rule val composeRule = createAndroidComposeRule<HelloBindingActivity>()
19-
@get:Rule val idleAfterTest = IdleAfterTestRule
20+
private val composeRule = createAndroidComposeRule<HelloBindingActivity>()
21+
@get:Rule val rules: RuleChain = RuleChain.outerRule(DetectLeaksAfterTestSuccess())
22+
.around(IdleAfterTestRule)
23+
.around(composeRule)
2024

2125
@Test fun togglesBetweenStates() {
2226
composeRule.onNodeWithText("Hello")

samples/compose-samples/src/androidTest/java/com/squareup/sample/compose/hellocomposeworkflow/HelloComposeWorkflowTest.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,20 @@ import androidx.compose.ui.test.performClick
77
import androidx.test.ext.junit.runners.AndroidJUnit4
88
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
99
import com.squareup.workflow1.ui.internal.test.IdleAfterTestRule
10+
import leakcanary.DetectLeaksAfterTestSuccess
1011
import org.junit.Rule
1112
import org.junit.Test
13+
import org.junit.rules.RuleChain
1214
import org.junit.runner.RunWith
1315

1416
@RunWith(AndroidJUnit4::class)
1517
@OptIn(WorkflowUiExperimentalApi::class)
1618
class HelloComposeWorkflowTest {
1719

18-
@get:Rule val composeRule = createAndroidComposeRule<HelloComposeWorkflowActivity>()
19-
@get:Rule val idleAfterTest = IdleAfterTestRule
20+
private val composeRule = createAndroidComposeRule<HelloComposeWorkflowActivity>()
21+
@get:Rule val rules: RuleChain = RuleChain.outerRule(DetectLeaksAfterTestSuccess())
22+
.around(IdleAfterTestRule)
23+
.around(composeRule)
2024

2125
@Test fun togglesBetweenStates() {
2226
composeRule.onNodeWithText("Hello")

samples/compose-samples/src/androidTest/java/com/squareup/sample/compose/inlinerendering/InlineRenderingTest.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,20 @@ import androidx.compose.ui.test.performClick
88
import androidx.test.ext.junit.runners.AndroidJUnit4
99
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
1010
import com.squareup.workflow1.ui.internal.test.IdleAfterTestRule
11+
import leakcanary.DetectLeaksAfterTestSuccess
1112
import org.junit.Rule
1213
import org.junit.Test
14+
import org.junit.rules.RuleChain
1315
import org.junit.runner.RunWith
1416

1517
@RunWith(AndroidJUnit4::class)
1618
@OptIn(WorkflowUiExperimentalApi::class)
1719
class InlineRenderingTest {
1820

19-
@get:Rule val composeRule = createAndroidComposeRule<InlineRenderingActivity>()
20-
@get:Rule val idleAfterTest = IdleAfterTestRule
21+
private val composeRule = createAndroidComposeRule<InlineRenderingActivity>()
22+
@get:Rule val rules: RuleChain = RuleChain.outerRule(DetectLeaksAfterTestSuccess())
23+
.around(IdleAfterTestRule)
24+
.around(composeRule)
2125

2226
@Test fun counterIncrements() {
2327
composeRule.onNode(hasClickAction())

samples/compose-samples/src/androidTest/java/com/squareup/sample/compose/launcher/SampleLauncherTest.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,20 @@ import androidx.test.platform.app.InstrumentationRegistry
1313
import com.squareup.sample.compose.R
1414
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
1515
import com.squareup.workflow1.ui.internal.test.IdleAfterTestRule
16+
import leakcanary.DetectLeaksAfterTestSuccess
1617
import org.junit.Rule
1718
import org.junit.Test
19+
import org.junit.rules.RuleChain
1820
import org.junit.runner.RunWith
1921

2022
@RunWith(AndroidJUnit4::class)
2123
@OptIn(WorkflowUiExperimentalApi::class)
2224
class SampleLauncherTest {
2325

24-
@get:Rule val composeRule = createAndroidComposeRule<SampleLauncherActivity>()
25-
@get:Rule val idleAfterTest = IdleAfterTestRule
26+
private val composeRule = createAndroidComposeRule<SampleLauncherActivity>()
27+
@get:Rule val rules: RuleChain = RuleChain.outerRule(DetectLeaksAfterTestSuccess())
28+
.around(IdleAfterTestRule)
29+
.around(composeRule)
2630

2731
@OptIn(ExperimentalTestApi::class)
2832
@Test fun allSamplesLaunch() {

samples/compose-samples/src/androidTest/java/com/squareup/sample/compose/nestedrenderings/NestedRenderingsTest.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ import androidx.compose.ui.test.performClick
1111
import androidx.test.ext.junit.runners.AndroidJUnit4
1212
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
1313
import com.squareup.workflow1.ui.internal.test.IdleAfterTestRule
14+
import leakcanary.DetectLeaksAfterTestSuccess
1415
import org.junit.Rule
1516
import org.junit.Test
17+
import org.junit.rules.RuleChain
1618
import org.junit.runner.RunWith
1719

1820
private const val ADD_BUTTON_TEXT = "Add Child"
@@ -21,8 +23,10 @@ private const val ADD_BUTTON_TEXT = "Add Child"
2123
@OptIn(WorkflowUiExperimentalApi::class)
2224
class NestedRenderingsTest {
2325

24-
@get:Rule val composeRule = createAndroidComposeRule<NestedRenderingsActivity>()
25-
@get:Rule val idleAfterTest = IdleAfterTestRule
26+
private val composeRule = createAndroidComposeRule<NestedRenderingsActivity>()
27+
@get:Rule val rules: RuleChain = RuleChain.outerRule(DetectLeaksAfterTestSuccess())
28+
.around(IdleAfterTestRule)
29+
.around(composeRule)
2630

2731
@Test fun childrenAreAddedAndRemoved() {
2832
composeRule.onNodeWithText(ADD_BUTTON_TEXT)

samples/compose-samples/src/androidTest/java/com/squareup/sample/compose/preview/PreviewTest.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,20 @@ import androidx.compose.ui.test.onNodeWithText
77
import androidx.test.ext.junit.runners.AndroidJUnit4
88
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
99
import com.squareup.workflow1.ui.internal.test.IdleAfterTestRule
10+
import leakcanary.DetectLeaksAfterTestSuccess
1011
import org.junit.Rule
1112
import org.junit.Test
13+
import org.junit.rules.RuleChain
1214
import org.junit.runner.RunWith
1315

1416
@RunWith(AndroidJUnit4::class)
1517
@OptIn(WorkflowUiExperimentalApi::class)
1618
class PreviewTest {
1719

18-
@get:Rule val composeRule = createAndroidComposeRule<PreviewActivity>()
19-
@get:Rule val idleAfterTest = IdleAfterTestRule
20+
private val composeRule = createAndroidComposeRule<PreviewActivity>()
21+
@get:Rule val rules: RuleChain = RuleChain.outerRule(DetectLeaksAfterTestSuccess())
22+
.around(IdleAfterTestRule)
23+
.around(composeRule)
2024

2125
@Test fun showsPreviewRendering() {
2226
composeRule.onNodeWithText(ContactDetailsRendering::class.java.simpleName, substring = true)

samples/compose-samples/src/androidTest/java/com/squareup/sample/compose/textinput/TextInputTest.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,20 @@ import androidx.compose.ui.text.AnnotatedString
1515
import androidx.test.ext.junit.runners.AndroidJUnit4
1616
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
1717
import com.squareup.workflow1.ui.internal.test.IdleAfterTestRule
18+
import leakcanary.DetectLeaksAfterTestSuccess
1819
import org.junit.Rule
1920
import org.junit.Test
21+
import org.junit.rules.RuleChain
2022
import org.junit.runner.RunWith
2123

2224
@RunWith(AndroidJUnit4::class)
2325
@OptIn(WorkflowUiExperimentalApi::class)
2426
class TextInputTest {
2527

26-
@get:Rule val composeRule = createAndroidComposeRule<TextInputActivity>()
27-
@get:Rule val idleAfterTest = IdleAfterTestRule
28+
private val composeRule = createAndroidComposeRule<TextInputActivity>()
29+
@get:Rule val rules: RuleChain = RuleChain.outerRule(DetectLeaksAfterTestSuccess())
30+
.around(IdleAfterTestRule)
31+
.around(composeRule)
2832

2933
@OptIn(ExperimentalTestApi::class)
3034
@Test fun allowsTextEditing() {

0 commit comments

Comments
 (0)