1d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay/*
2d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay * Copyright (C) 2016 The Android Open Source Project
3d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay *
4d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay * Licensed under the Apache License, Version 2.0 (the "License");
5d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay * you may not use this file except in compliance with the License.
6d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay * You may obtain a copy of the License at
7d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay *
8d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay *      http://www.apache.org/licenses/LICENSE-2.0
9d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay *
10d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay * Unless required by applicable law or agreed to in writing, software
11d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay * distributed under the License is distributed on an "AS IS" BASIS,
12d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay * See the License for the specific language governing permissions and
14d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay * limitations under the License.
15d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay */
16d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKaypackage com.android.documentsui.testing;
17d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay
18d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKayimport static android.content.Intent.EXTRA_INTENT;
19d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKayimport static junit.framework.Assert.assertNotNull;
20d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKayimport static junit.framework.Assert.assertTrue;
21d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKayimport static org.junit.Assert.assertEquals;
22d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay
23d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKayimport android.content.Intent;
24d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKayimport android.net.Uri;
25d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKayimport android.os.Parcelable;
26d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay
27d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKayimport junit.framework.Assert;
28d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay
29d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKayimport java.util.ArrayList;
30d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKayimport java.util.List;
31d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay
32d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay/**
33d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay * Handy-dandy Junit asserts covering Intents.
34d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay */
35d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKaypublic final class IntentAsserts {
36d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay
37d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay    private IntentAsserts() {}
38d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay
39d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay    public static void assertHasAction(Intent intent, String expected) {
40d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        assertEquals(expected, intent.getAction());
41d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay    }
42d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay
43d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay    public static Intent assertHasExtraIntent(Intent intent) {
44d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        Intent extra = (Intent) intent.getExtra(EXTRA_INTENT);
45d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        assertNotNull(extra);
46d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        return extra;
47d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay    }
48d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay
49d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay    public static Uri assertHasExtraUri(Intent intent, String key) {
50d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        Object value = intent.getExtra(key);
51d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        assertNotNull(value);
52d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        assertTrue(value instanceof Uri);
53d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        return (Uri) value;
54d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay    }
55d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay
56d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay    public static List<Parcelable> assertHasExtraList(Intent intent, String key) {
57d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        ArrayList<Parcelable> list = intent.getParcelableArrayListExtra(key);
58d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        assertNotNull(list);
59d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        return list;
60d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay    }
61d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay
62d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay    public static List<Parcelable> assertHasExtraList(Intent intent, String key, int size) {
63d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        List<Parcelable> list = assertHasExtraList(intent, key);
64d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        Assert.assertEquals(size, list.size());
65d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay        return list;
66d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay    }
67d071895ec72bbb9414f6672ff808ec42b8e2d850Steve McKay}
68