2
2
3
3
import static org .junit .Assert .assertEquals ;
4
4
import static org .mockito .Matchers .any ;
5
+ import static org .mockito .Matchers .eq ;
5
6
import static org .mockito .Mockito .mock ;
6
7
import static org .mockito .Mockito .never ;
7
8
import static org .mockito .Mockito .verify ;
8
9
9
10
import android .app .Activity ;
11
+ import android .content .ComponentCallbacks ;
10
12
import android .support .v4 .app .FragmentActivity ;
11
13
12
14
import com .bumptech .glide .RequestManager ;
@@ -103,6 +105,30 @@ public void runTest(Harness harness) {
103
105
});
104
106
}
105
107
108
+ @ Test
109
+ public void testCallsRequestManagerOnLowMemory () {
110
+ runTest (new TestCase () {
111
+ @ Override
112
+ public void runTest (Harness harness ) {
113
+ RequestManager requestManager = mock (RequestManager .class );
114
+ harness .setRequestManager (requestManager );
115
+ harness .getCallbacks ().onLowMemory ();
116
+ verify (requestManager ).onLowMemory ();
117
+ }
118
+ });
119
+ }
120
+
121
+ @ Test
122
+ public void testNonSupportFragmentCallsRequestManagerOnTrimMemory () {
123
+ RequestManagerHarness requestManagerHarness = new RequestManagerHarness ();
124
+ RequestManager requestManager = mock (RequestManager .class );
125
+ requestManagerHarness .setRequestManager (requestManager );
126
+ int level = 123 ;
127
+ requestManagerHarness .fragment .onTrimMemory (level );
128
+
129
+ verify (requestManager ).onTrimMemory (eq (level ));
130
+ }
131
+
106
132
private void runTest (TestCase testCase ) {
107
133
for (Harness harness : harnesses ) {
108
134
try {
@@ -127,6 +153,8 @@ private interface Harness {
127
153
public ActivityFragmentLifecycle getFragmentLifecycle ();
128
154
129
155
public ActivityController getController ();
156
+
157
+ public ComponentCallbacks getCallbacks ();
130
158
}
131
159
132
160
private static class RequestManagerHarness implements Harness {
@@ -174,6 +202,11 @@ public ActivityFragmentLifecycle getFragmentLifecycle() {
174
202
public ActivityController getController () {
175
203
return controller ;
176
204
}
205
+
206
+ @ Override
207
+ public ComponentCallbacks getCallbacks () {
208
+ return fragment ;
209
+ }
177
210
}
178
211
179
212
private static class SupportRequestManagerHarness implements Harness {
@@ -222,5 +255,10 @@ public ActivityFragmentLifecycle getFragmentLifecycle() {
222
255
public ActivityController getController () {
223
256
return supportController ;
224
257
}
258
+
259
+ @ Override
260
+ public ComponentCallbacks getCallbacks () {
261
+ return supportFragment ;
262
+ }
225
263
}
226
264
}
0 commit comments