Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / testing / android / junit / javatests / src / org / chromium / testing / local / GtestFilterTest.java
1 // Copyright 2014 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
5 package org.chromium.testing.local;
6
7 import org.junit.Assert;
8 import org.junit.Test;
9 import org.junit.runner.Description;
10 import org.junit.runner.RunWith;
11 import org.junit.runner.manipulation.Filter;
12 import org.junit.runners.BlockJUnit4ClassRunner;
13
14 /**
15  *  Unit tests for GtestFilter.
16  */
17 @RunWith(BlockJUnit4ClassRunner.class)
18 public class GtestFilterTest {
19
20     @Test
21     public void testDescription() {
22         Filter filterUnderTest = new GtestFilter("TestClass.*");
23         Assert.assertEquals("gtest-filter: TestClass.*", filterUnderTest.describe());
24     }
25
26     @Test
27     public void testNoFilter() {
28         Filter filterUnderTest = new GtestFilter("");
29         Assert.assertTrue(filterUnderTest.shouldRun(
30                 Description.createTestDescription("TestClass", "testMethod")));
31         Assert.assertTrue(filterUnderTest.shouldRun(
32                 Description.createTestDescription("TestClass", "otherTestMethod")));
33         Assert.assertTrue(filterUnderTest.shouldRun(
34                 Description.createTestDescription("OtherTestClass", "testMethod")));
35     }
36
37     @Test
38     public void testPositiveFilterExplicit() {
39         Filter filterUnderTest = new GtestFilter("TestClass.testMethod");
40         Assert.assertTrue(filterUnderTest.shouldRun(
41                 Description.createTestDescription("TestClass", "testMethod")));
42         Assert.assertFalse(filterUnderTest.shouldRun(
43                 Description.createTestDescription("TestClass", "otherTestMethod")));
44         Assert.assertFalse(filterUnderTest.shouldRun(
45                 Description.createTestDescription("OtherTestClass", "testMethod")));
46     }
47
48     @Test
49     public void testPositiveFilterClassRegex() {
50         Filter filterUnderTest = new GtestFilter("TestClass.*");
51         Assert.assertTrue(filterUnderTest.shouldRun(
52                 Description.createTestDescription("TestClass", "testMethod")));
53         Assert.assertTrue(filterUnderTest.shouldRun(
54                 Description.createTestDescription("TestClass", "otherTestMethod")));
55         Assert.assertFalse(filterUnderTest.shouldRun(
56                 Description.createTestDescription("OtherTestClass", "testMethod")));
57     }
58
59     @Test
60     public void testNegativeFilterExplicit() {
61         Filter filterUnderTest = new GtestFilter("-TestClass.testMethod");
62         Assert.assertFalse(filterUnderTest.shouldRun(
63                 Description.createTestDescription("TestClass", "testMethod")));
64         Assert.assertTrue(filterUnderTest.shouldRun(
65                 Description.createTestDescription("TestClass", "otherTestMethod")));
66         Assert.assertTrue(filterUnderTest.shouldRun(
67                 Description.createTestDescription("OtherTestClass", "testMethod")));
68     }
69
70     @Test
71     public void testNegativeFilterClassRegex() {
72         Filter filterUnderTest = new GtestFilter("-TestClass.*");
73         Assert.assertFalse(filterUnderTest.shouldRun(
74                 Description.createTestDescription("TestClass", "testMethod")));
75         Assert.assertFalse(filterUnderTest.shouldRun(
76                 Description.createTestDescription("TestClass", "otherTestMethod")));
77         Assert.assertTrue(filterUnderTest.shouldRun(
78                 Description.createTestDescription("OtherTestClass", "testMethod")));
79     }
80
81     @Test
82     public void testPositiveAndNegativeFilter() {
83         Filter filterUnderTest = new GtestFilter("TestClass.*-TestClass.testMethod");
84         Assert.assertFalse(filterUnderTest.shouldRun(
85                 Description.createTestDescription("TestClass", "testMethod")));
86         Assert.assertTrue(filterUnderTest.shouldRun(
87                 Description.createTestDescription("TestClass", "otherTestMethod")));
88         Assert.assertFalse(filterUnderTest.shouldRun(
89                 Description.createTestDescription("OtherTestClass", "testMethod")));
90     }
91
92     @Test
93     public void testMultiplePositiveFilters() {
94         Filter filterUnderTest = new GtestFilter(
95                 "TestClass.otherTestMethod:OtherTestClass.otherTestMethod");
96         Assert.assertFalse(filterUnderTest.shouldRun(
97                 Description.createTestDescription("TestClass", "testMethod")));
98         Assert.assertTrue(filterUnderTest.shouldRun(
99                 Description.createTestDescription("TestClass", "otherTestMethod")));
100         Assert.assertFalse(filterUnderTest.shouldRun(
101                 Description.createTestDescription("OtherTestClass", "testMethod")));
102         Assert.assertTrue(filterUnderTest.shouldRun(
103                 Description.createTestDescription("OtherTestClass", "otherTestMethod")));
104     }
105
106     @Test
107     public void testMultipleFiltersPositiveAndNegative() {
108         Filter filterUnderTest = new GtestFilter("TestClass.*:-TestClass.testMethod");
109         Assert.assertFalse(filterUnderTest.shouldRun(
110                 Description.createTestDescription("TestClass", "testMethod")));
111         Assert.assertTrue(filterUnderTest.shouldRun(
112                 Description.createTestDescription("TestClass", "otherTestMethod")));
113         Assert.assertFalse(filterUnderTest.shouldRun(
114                 Description.createTestDescription("OtherTestClass", "testMethod")));
115     }
116
117 }
118