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

COVERAGE SUMMARY FOR SOURCE FILE [UuidBasedUniqueIdentificationGeneratorTest.java]

nameclass, %method, %block, %line, %
UuidBasedUniqueIdentificationGeneratorTest.java100% (2/2)100% (6/6)100% (149/149)100% (38/38)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class UuidBasedUniqueIdentificationGeneratorTest100% (1/1)100% (4/4)100% (131/131)100% (32/32)
UuidBasedUniqueIdentificationGeneratorTest (): void 100% (1/1)100% (3/3)100% (2/2)
setUp (): void 100% (1/1)100% (11/11)100% (3/3)
testGenerationAndRestorationOfUuid (): void 100% (1/1)100% (54/54)100% (12/12)
testTwoDifferentGeneratorsShouldUseDifferentPreferences (): void 100% (1/1)100% (63/63)100% (15/15)
     
class UuidBasedUniqueIdentificationGeneratorTest$TestGenerator100% (1/1)100% (2/2)100% (18/18)100% (6/6)
UuidBasedUniqueIdentificationGeneratorTest$TestGenerator (AdvancedMockContext... 100% (1/1)100% (11/11)100% (4/4)
getUUID (): String 100% (1/1)100% (7/7)100% (2/2)

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.identity;
6 
7import android.test.InstrumentationTestCase;
8import android.test.suitebuilder.annotation.SmallTest;
9 
10import junit.framework.Assert;
11 
12import org.chromium.base.test.util.AdvancedMockContext;
13import org.chromium.base.test.util.Feature;
14 
15public class UuidBasedUniqueIdentificationGeneratorTest extends InstrumentationTestCase {
16    private static final String FLAG_UUID = "uuid";
17 
18    private AdvancedMockContext mContext;
19 
20    @Override
21    protected void setUp() throws Exception {
22        super.setUp();
23        mContext = new AdvancedMockContext(getInstrumentation().getTargetContext());
24    }
25 
26    @SmallTest
27    @Feature({"Sync"})
28    public void testGenerationAndRestorationOfUuid() {
29        String preferenceKey = "some_preference_key";
30        String expectedUniqueId = "myUuid";
31        TestGenerator generator = new TestGenerator(mContext, preferenceKey, expectedUniqueId);
32 
33        // Get a unique ID and ensure it is as expected.
34        Assert.assertEquals(expectedUniqueId, generator.getUniqueId(null));
35 
36        // Asking for a unique ID again, should not try to regenerate it.
37        mContext.clearFlag(FLAG_UUID);
38        Assert.assertEquals(expectedUniqueId, generator.getUniqueId(null));
39        assertFalse(mContext.isFlagSet(FLAG_UUID));
40 
41        // After a restart, the TestGenerator should read the UUID from a preference, instead of
42        // asking for it.
43        mContext.clearFlag(FLAG_UUID);
44        generator = new TestGenerator(mContext, preferenceKey, null);
45        Assert.assertEquals(expectedUniqueId, generator.getUniqueId(null));
46        assertFalse(mContext.isFlagSet(FLAG_UUID));
47    }
48 
49    @SmallTest
50    @Feature({"Sync"})
51    public void testTwoDifferentGeneratorsShouldUseDifferentPreferences() {
52        String preferenceKey1 = "some_preference_key";
53        String preferenceKey2 = "some_other_preference_key";
54        String expectedUniqueId1 = "myUuid";
55        String expectedUniqueId2 = "myOtherUuid";
56        TestGenerator generator1 = new TestGenerator(mContext, preferenceKey1, expectedUniqueId1);
57        TestGenerator generator2 = new TestGenerator(mContext, preferenceKey2, expectedUniqueId2);
58 
59        // Get a unique ID and ensure it is as expected.
60        Assert.assertEquals(expectedUniqueId1, generator1.getUniqueId(null));
61        Assert.assertEquals(expectedUniqueId2, generator2.getUniqueId(null));
62 
63        // Asking for a unique ID again, should not try to regenerate it.
64        mContext.clearFlag(FLAG_UUID);
65        Assert.assertEquals(expectedUniqueId1, generator1.getUniqueId(null));
66        assertFalse(mContext.isFlagSet(FLAG_UUID));
67        mContext.clearFlag(FLAG_UUID);
68        Assert.assertEquals(expectedUniqueId2, generator2.getUniqueId(null));
69        assertFalse(mContext.isFlagSet(FLAG_UUID));
70   }
71 
72    private static class TestGenerator extends UuidBasedUniqueIdentificationGenerator {
73        private final AdvancedMockContext mContext;
74        private final String mUuid;
75 
76        TestGenerator(AdvancedMockContext context, String preferenceKey, String uuid) {
77            super(context, preferenceKey);
78            mContext = context;
79            mUuid = uuid;
80        }
81 
82        @Override
83        String getUUID() {
84            mContext.setFlag(FLAG_UUID);
85            return mUuid;
86        }
87    }
88}

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