Skip to content

Commit 8833bce

Browse files
committed
Test Intent parameters of @receiver, @ReceiverAction and @OnActivityResult
1 parent 92051dd commit 8833bce

6 files changed

Lines changed: 71 additions & 0 deletions

File tree

AndroidAnnotations/androidannotations-core/androidannotations-test/src/main/java/org/androidannotations/test/AwaitingResultActivity.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,16 @@ public class AwaitingResultActivity extends Activity {
3131
static final int SECOND_REQUEST = 22;
3232
static final int THIRD_REQUEST = 33;
3333
static final int FORTH_REQUEST = 44;
34+
static final int FIFTH_REQUEST = 55;
3435
boolean onResultCalled = false;
3536
boolean onResultWithDataCalled = false;
3637
boolean onActivityResultWithResultCodeAndDataCalled = false;
3738
boolean onActivityResultWithDataAndResultCodeCalled = false;
3839
boolean onResultWithIntResultCodeCalled = false;
3940
boolean onResultWithIntegerResultCodeCalled = false;
4041
boolean onResultWithResultExtraCodeCalled = false;
42+
Intent originalIntent;
43+
Intent extraIntent;
4144

4245
@OnActivityResult(FIRST_REQUEST)
4346
void onResult() {
@@ -77,4 +80,10 @@ void onResultWithResultExtra(int resultCode, @OnActivityResult.Extra("value") in
7780
}
7881

7982
// CHECKSTYLE:ON
83+
84+
@OnActivityResult(FIFTH_REQUEST)
85+
void onResultWithIntentExtras(Intent originalIntent, @OnActivityResult.Extra Intent extraIntent) {
86+
this.originalIntent = originalIntent;
87+
this.extraIntent = extraIntent;
88+
}
8089
}

AndroidAnnotations/androidannotations-core/androidannotations-test/src/main/java/org/androidannotations/test/ereceiver/ReceiverWithActions.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import org.androidannotations.annotations.ReceiverAction;
2020
import org.androidannotations.api.support.content.AbstractBroadcastReceiver;
2121

22+
import android.content.Intent;
23+
2224
@EReceiver
2325
public class ReceiverWithActions extends AbstractBroadcastReceiver {
2426

@@ -28,6 +30,7 @@ public class ReceiverWithActions extends AbstractBroadcastReceiver {
2830
public static final String ACTION_MULTIPLE_TEST_1 = "ACTION_MULTIPLE_TEST_1";
2931
public static final String ACTION_MULTIPLE_TEST_2 = "ACTION_MULTIPLE_TEST_2";
3032
public static final String ACTION_EXTRA_PARAMETER_TEST = "ACTION_EXTRA_PARAMETER_TEST";
33+
public static final String ACTION_EXTRA_INTENT_PARAMETERS_TEST = "ACTION_EXTRA_INTENT_PARAMETERS_TEST";
3134
public static final String EXTRA_ARG_NAME1 = "thisExtraHasAnotherName";
3235
public static final String EXTRA_ARG_NAME2 = "thisIsMyParameter";
3336
public static final String DATA_SCHEME = "http";
@@ -43,6 +46,9 @@ public class ReceiverWithActions extends AbstractBroadcastReceiver {
4346

4447
public int multipleActionCall = 0;
4548

49+
public Intent originalIntent;
50+
public Intent extraIntent;
51+
4652
@ReceiverAction(actions = ACTION_SIMPLE_TEST)
4753
public void onSimpleAction() {
4854
simpleActionReceived = true;
@@ -69,4 +75,10 @@ public void onExtraParameterAction(@ReceiverAction.Extra(EXTRA_ARG_NAME1) String
6975
public void onMultipleActions() {
7076
multipleActionCall++;
7177
}
78+
79+
@ReceiverAction(actions = ACTION_EXTRA_INTENT_PARAMETERS_TEST)
80+
public void onIntentParametersAction(Intent originalIntent, @ReceiverAction.Extra Intent extraIntent) {
81+
this.originalIntent = originalIntent;
82+
this.extraIntent = extraIntent;
83+
}
7284
}

AndroidAnnotations/androidannotations-core/androidannotations-test/src/main/java/org/androidannotations/test/receiver/ActivityWithReceiver.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ public class ActivityWithReceiver extends Activity {
3333

3434
public String wifiSsid = null;
3535

36+
Intent originalIntent;
37+
Intent extraIntent;
38+
3639
@Receiver(actions = WifiManager.NETWORK_STATE_CHANGED_ACTION, registerAt = Receiver.RegisterAt.OnResumeOnPause)
3740
protected void onWifiStateChanged(Intent intent, @Receiver.Extra(WifiManager.EXTRA_BSSID) String ssid) {
3841
wifiChangeIntentReceived = true;
@@ -58,4 +61,10 @@ protected void onBroadcastWithTwoActions(Intent intent) {
5861
action2Fired = true;
5962
}
6063
}
64+
65+
@Receiver(actions = "org.androidannotations.ACTION_1")
66+
protected void onBroadcastWithExtras(Intent originalIntent, @Receiver.Extra Intent extraIntent) {
67+
this.originalIntent = originalIntent;
68+
this.extraIntent = extraIntent;
69+
}
6170
}

AndroidAnnotations/androidannotations-core/androidannotations-test/src/test/java/org/androidannotations/test/AwaitingResultActivityTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import org.junit.runner.RunWith;
2222
import org.robolectric.RobolectricTestRunner;
2323

24+
import android.content.Intent;
25+
2426
@RunWith(RobolectricTestRunner.class)
2527
public class AwaitingResultActivityTest {
2628

@@ -92,4 +94,18 @@ public void onlyForthRequestAnnotatedMethodAreCalled() {
9294
assertThat(activity.onResultWithIntegerResultCodeCalled).isFalse();
9395
assertThat(activity.onResultWithResultExtraCodeCalled).isTrue();
9496
}
97+
98+
@Test
99+
public void onResultWithIntentExtrasPassed() {
100+
AwaitingResultActivity_ activity = new AwaitingResultActivity_();
101+
102+
Intent intent = new Intent();
103+
Intent extraIntent = new Intent("someAction");
104+
intent.putExtra("extraIntent", extraIntent);
105+
106+
activity.onActivityResult(AwaitingResultActivity.FIFTH_REQUEST, 0, intent);
107+
108+
assertThat(activity.originalIntent).isEqualTo(intent);
109+
assertThat(activity.extraIntent).isEqualTo(extraIntent);
110+
}
95111
}

AndroidAnnotations/androidannotations-core/androidannotations-test/src/test/java/org/androidannotations/test/ereceiver/ReceiverWithActionsTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,16 @@ public void onMultipleActionsTest() {
8585
receiver.onReceive(Robolectric.application, intent);
8686
assertEquals(2, receiver.multipleActionCall);
8787
}
88+
89+
@Test
90+
public void onIntentParametersActionTest() {
91+
Intent intent = new Intent(ReceiverWithActions.ACTION_EXTRA_INTENT_PARAMETERS_TEST);
92+
Intent extraIntent = new Intent("someAction");
93+
intent.putExtra("extraIntent", extraIntent);
94+
95+
receiver.onReceive(Robolectric.application, intent);
96+
97+
assertEquals(intent, receiver.originalIntent);
98+
assertEquals(extraIntent, receiver.extraIntent);
99+
}
88100
}

AndroidAnnotations/androidannotations-core/androidannotations-test/src/test/java/org/androidannotations/test/receiver/ActivityWithReceiverTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.androidannotations.test.receiver;
1717

18+
import static org.junit.Assert.assertEquals;
1819
import static org.junit.Assert.assertFalse;
1920
import static org.junit.Assert.assertTrue;
2021

@@ -91,4 +92,16 @@ public void onBroadcastWithTwoActionsTest() {
9192
assertTrue(activity.action2Fired);
9293
}
9394

95+
@Test
96+
public void onBroadcastWithExtrasTest() {
97+
Intent intent = new Intent("org.androidannotations.ACTION_1");
98+
Intent extraIntent = new Intent("someAction");
99+
intent.putExtra("extraIntent", extraIntent);
100+
101+
activity.sendBroadcast(intent);
102+
103+
assertEquals(intent, activity.originalIntent);
104+
assertEquals(extraIntent, activity.extraIntent);
105+
}
106+
94107
}

0 commit comments

Comments
 (0)