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

COVERAGE SUMMARY FOR SOURCE FILE [UniqueIdentificationGeneratorFactoryTest.java]

nameclass, %method, %block, %line, %
UniqueIdentificationGeneratorFactoryTest.java67%  (2/3)86%  (6/7)86%  (70/81)78%  (21/27)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class UniqueIdentificationGeneratorFactoryTest100% (1/1)100% (4/4)88%  (64/73)81%  (21/26)
testGeneratorNotFoundThrows (): void 100% (1/1)36%  (5/14)38%  (3/8)
UniqueIdentificationGeneratorFactoryTest (): void 100% (1/1)100% (3/3)100% (2/2)
testForceCanOverrideGenerator (): void 100% (1/1)100% (41/41)100% (11/11)
testSetAndGetGenerator (): void 100% (1/1)100% (15/15)100% (5/5)
     
class UniqueIdentificationGeneratorFactoryTest$10%   (0/1)100% (0/0)100% (0/0)100% (0/0)
     
class UniqueIdentificationGeneratorFactoryTest$TestGenerator100% (1/1)67%  (2/3)75%  (6/8)50%  (1/2)
getUniqueId (String): String 0%   (0/1)0%   (0/2)0%   (0/1)
UniqueIdentificationGeneratorFactoryTest$TestGenerator (): void 100% (1/1)100% (3/3)100% (1/1)
UniqueIdentificationGeneratorFactoryTest$TestGenerator (UniqueIdentificationG... 100% (1/1)100% (3/3)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.identity;
6 
7import android.test.InstrumentationTestCase;
8import android.test.suitebuilder.annotation.SmallTest;
9 
10import org.chromium.base.test.util.Feature;
11 
12import javax.annotation.Nullable;
13 
14public class UniqueIdentificationGeneratorFactoryTest extends InstrumentationTestCase {
15 
16    @SmallTest
17    @Feature({"ChromeToMobile", "Omaha", "Sync"})
18    public void testSetAndGetGenerator() {
19        UniqueIdentificationGeneratorFactory.clearGeneratorMapForTest();
20        UniqueIdentificationGenerator gen = new TestGenerator();
21        UniqueIdentificationGeneratorFactory.registerGenerator("generator", gen, false);
22        assertEquals(gen, UniqueIdentificationGeneratorFactory.getInstance("generator"));
23    }
24 
25    @SmallTest
26    @Feature({"ChromeToMobile", "Omaha", "Sync"})
27    public void testForceCanOverrideGenerator() {
28        UniqueIdentificationGeneratorFactory.clearGeneratorMapForTest();
29        UniqueIdentificationGenerator gen1 = new TestGenerator();
30        UniqueIdentificationGenerator gen2 = new TestGenerator();
31        UniqueIdentificationGenerator gen3 = new TestGenerator();
32        UniqueIdentificationGeneratorFactory.registerGenerator("generator", gen1, false);
33        assertEquals(gen1, UniqueIdentificationGeneratorFactory.getInstance("generator"));
34        UniqueIdentificationGeneratorFactory.registerGenerator("generator", gen2, false);
35        assertEquals(gen1, UniqueIdentificationGeneratorFactory.getInstance("generator"));
36        UniqueIdentificationGeneratorFactory.registerGenerator("generator", gen3, true);
37        assertEquals(gen3, UniqueIdentificationGeneratorFactory.getInstance("generator"));
38    }
39 
40    @SmallTest
41    @Feature({"ChromeToMobile", "Omaha", "Sync"})
42    public void testGeneratorNotFoundThrows() {
43        UniqueIdentificationGeneratorFactory.clearGeneratorMapForTest();
44        UniqueIdentificationGenerator generator = null;
45        try {
46            generator = UniqueIdentificationGeneratorFactory.getInstance("generator");
47            fail("The generator does not exist, so factory should throw an error.");
48        } catch (RuntimeException e) {
49            assertEquals(null, generator);
50        }
51    }
52 
53    private static class TestGenerator implements UniqueIdentificationGenerator {
54        @Override
55        public String getUniqueId(@Nullable String salt) {
56            return null;
57        }
58    }
59}

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