EMMA Coverage Report (generated Fri Aug 23 16:39:17 PDT 2013)
[all classes][org.chromium.chrome.browser.sync]

COVERAGE SUMMARY FOR SOURCE FILE [ChromiumSyncAdapterTest.java]

nameclass, %method, %block, %line, %
ChromiumSyncAdapterTest.java100% (2/2)100% (17/17)100% (193/193)100% (45/45)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ChromiumSyncAdapterTest100% (1/1)100% (6/6)100% (147/147)100% (33/33)
<static initializer> 100% (1/1)100% (4/4)100% (1/1)
ChromiumSyncAdapterTest (): void 100% (1/1)100% (3/3)100% (2/2)
setUp (): void 100% (1/1)100% (18/18)100% (4/4)
testRequestSyncNoInvalidationData (): void 100% (1/1)100% (30/30)100% (6/6)
testRequestSyncSpecificDataType (): void 100% (1/1)100% (59/59)100% (13/13)
testRequestSyncWhenChromeInBackground (): void 100% (1/1)100% (33/33)100% (7/7)
     
class ChromiumSyncAdapterTest$TestChromiumSyncAdapter100% (1/1)100% (11/11)100% (46/46)100% (13/13)
ChromiumSyncAdapterTest$TestChromiumSyncAdapter (Context, Application): void 100% (1/1)100% (5/5)100% (2/2)
access$000 (ChromiumSyncAdapterTest$TestChromiumSyncAdapter): boolean 100% (1/1)100% (3/3)100% (1/1)
access$100 (ChromiumSyncAdapterTest$TestChromiumSyncAdapter): boolean 100% (1/1)100% (3/3)100% (1/1)
access$200 (ChromiumSyncAdapterTest$TestChromiumSyncAdapter): boolean 100% (1/1)100% (3/3)100% (1/1)
access$300 (ChromiumSyncAdapterTest$TestChromiumSyncAdapter): String 100% (1/1)100% (3/3)100% (1/1)
access$400 (ChromiumSyncAdapterTest$TestChromiumSyncAdapter): long 100% (1/1)100% (3/3)100% (1/1)
access$500 (ChromiumSyncAdapterTest$TestChromiumSyncAdapter): String 100% (1/1)100% (3/3)100% (1/1)
initCommandLine (): void 100% (1/1)100% (4/4)100% (2/2)
requestSync (String, long, String): void 100% (1/1)100% (13/13)100% (5/5)
requestSyncForAllTypes (): void 100% (1/1)100% (4/4)100% (2/2)
useAsyncStartup (): boolean 100% (1/1)100% (2/2)100% (1/1)

1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4 
5package org.chromium.chrome.browser.sync;
6 
7import android.accounts.Account;
8import android.app.Application;
9import android.content.Context;
10import android.content.SyncResult;
11import android.os.Bundle;
12import android.test.suitebuilder.annotation.MediumTest;
13 
14import org.chromium.base.test.util.Feature;
15import org.chromium.chrome.testshell.ChromiumTestShellTestBase;
16import org.chromium.sync.notifier.SyncStatusHelper;
17import org.chromium.sync.signin.AccountManagerHelper;
18 
19public class ChromiumSyncAdapterTest extends ChromiumTestShellTestBase {
20 
21    private static final Account TEST_ACCOUNT =
22            AccountManagerHelper.createAccountFromName("test@gmail.com");
23 
24    private TestChromiumSyncAdapter mSyncAdapter;
25 
26    private static class TestChromiumSyncAdapter extends ChromiumSyncAdapter {
27        private boolean mCommandlineInitialized;
28        private boolean mSyncRequested;
29        private boolean mSyncRequestedForAllTypes;
30        private String mObjectId;
31        private long mVersion;
32        private String mPayload;
33 
34        public TestChromiumSyncAdapter(Context context, Application application) {
35            super(context, application);
36        }
37 
38        @Override
39        protected boolean useAsyncStartup() {
40            return true;
41        }
42 
43        @Override
44        protected void initCommandLine() {
45            mCommandlineInitialized = true;
46        }
47 
48        @Override
49        public void requestSync( String objectId, long version, String payload) {
50            mObjectId = objectId;
51            mVersion = version;
52            mPayload = payload;
53            mSyncRequested = true;
54        }
55 
56        @Override
57        public void requestSyncForAllTypes() {
58            mSyncRequestedForAllTypes = true;
59        }
60    }
61 
62    @Override
63    protected void setUp() throws Exception {
64        super.setUp();
65        launchChromiumTestShellWithBlankPage();
66        mSyncAdapter = new TestChromiumSyncAdapter(getInstrumentation().getTargetContext(),
67                getActivity().getApplication());
68    }
69 
70    @MediumTest
71    @Feature({"Sync"})
72    public void testRequestSyncNoInvalidationData() {
73        SyncResult syncResult = new SyncResult();
74        mSyncAdapter.onPerformSync(TEST_ACCOUNT, new Bundle(),
75                SyncStatusHelper.get(getActivity()).getContractAuthority(), null, syncResult);
76        assertTrue(mSyncAdapter.mSyncRequestedForAllTypes);
77        assertFalse(mSyncAdapter.mSyncRequested);
78        assertTrue(mSyncAdapter.mCommandlineInitialized);
79    }
80 
81    @MediumTest
82    @Feature({"Sync"})
83    public void testRequestSyncSpecificDataType() {
84        SyncResult syncResult = new SyncResult();
85        Bundle extras = new Bundle();
86        extras.putString(ChromiumSyncAdapter.INVALIDATION_OBJECT_ID_KEY, "objectid_value");
87        extras.putLong(ChromiumSyncAdapter.INVALIDATION_VERSION_KEY, 42);
88        extras.putString(ChromiumSyncAdapter.INVALIDATION_PAYLOAD_KEY, "payload_value");
89        mSyncAdapter.onPerformSync(TEST_ACCOUNT, extras,
90                SyncStatusHelper.get(getActivity()).getContractAuthority(), null, syncResult);
91        assertFalse(mSyncAdapter.mSyncRequestedForAllTypes);
92        assertTrue(mSyncAdapter.mSyncRequested);
93        assertEquals("objectid_value", mSyncAdapter.mObjectId);
94        assertEquals(42, mSyncAdapter.mVersion);
95        assertEquals("payload_value", mSyncAdapter.mPayload);
96        assertTrue(mSyncAdapter.mCommandlineInitialized);
97    }
98 
99    @MediumTest
100    @Feature({"Sync"})
101    public void testRequestSyncWhenChromeInBackground() throws InterruptedException {
102        DelayedSyncControllerTest.sendChromeToBackground(getActivity());
103        SyncResult syncResult = new SyncResult();
104        mSyncAdapter.onPerformSync(TEST_ACCOUNT, new Bundle(),
105                SyncStatusHelper.get(getActivity()).getContractAuthority(), null, syncResult);
106        assertFalse(mSyncAdapter.mSyncRequestedForAllTypes);
107        assertFalse(mSyncAdapter.mSyncRequested);
108        assertFalse(mSyncAdapter.mCommandlineInitialized);
109    }
110}

[all classes][org.chromium.chrome.browser.sync]
EMMA 2.0.5312 (C) Vladimir Roubtsov