1cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes/*
2cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes * Copyright (C) 2015 The Android Open Source Project
3cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes *
4cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes * Licensed under the Apache License, Version 2.0 (the "License");
5cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes * you may not use this file except in compliance with the License.
6cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes * You may obtain a copy of the License at
7cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes *
8cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes *      http://www.apache.org/licenses/LICENSE-2.0
9cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes *
10cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes * Unless required by applicable law or agreed to in writing, software
11cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes * distributed under the License is distributed on an "AS IS" BASIS,
12cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes * See the License for the specific language governing permissions and
14cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes * limitations under the License.
15cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes */
16cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes
17cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banespackage android.support.v7.app;
18cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes
19cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banesimport org.junit.Test;
20cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes
21cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banespublic abstract class BaseBasicsTestCase<A extends BaseTestActivity>
22cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes        extends BaseInstrumentationTestCase<A> {
23cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes
24cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes    protected BaseBasicsTestCase(Class<A> activityClass) {
25cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes        super(activityClass);
26cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes    }
27cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes
28cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes    @Test
29cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes    public void testActionBarExists() {
30cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes        assertNotNull("ActionBar is not null", getActivity().getSupportActionBar());
31cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes    }
32cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes
33cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes    @Test
34cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes     public void testDefaultActionBarTitle() {
35cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes        assertEquals(getActivity().getTitle(), getActivity().getSupportActionBar().getTitle());
36cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes    }
37cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes
38cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes    @Test
39cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes    public void testSetActionBarTitle() throws Throwable {
40cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes        final String newTitle = "hello";
41cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes        runTestOnUiThread(new Runnable() {
42cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes            @Override
43cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes            public void run() {
44cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes                getActivity().setTitle(newTitle);
45cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes                assertEquals("New title is set to ActionBar",
46cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes                        newTitle, getActivity().getSupportActionBar().getTitle());
47cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes            }
48cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes        });
49cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes    }
50cdbdcb29b4a4e3bf1553f824902562cee3fcb723Chris Banes}
51