| Index: tools/telemetry/telemetry/page/page_filter_unittest.py
|
| diff --git a/tools/telemetry/telemetry/page/page_filter_unittest.py b/tools/telemetry/telemetry/page/page_filter_unittest.py
|
| index 924d46a5024715f540b405ccd7e4e5133c2b4359..96e03999cb84622659dd5d21736b928aace9cd54 100644
|
| --- a/tools/telemetry/telemetry/page/page_filter_unittest.py
|
| +++ b/tools/telemetry/telemetry/page/page_filter_unittest.py
|
| @@ -7,10 +7,19 @@ from telemetry.page import page as page_module
|
| from telemetry.page import page_filter as page_filter_module
|
| from telemetry.page import page_set
|
|
|
| -class MockOptions(object):
|
| +class MockUrlFilterOptions(object):
|
| def __init__(self, page_filter, page_filter_exclude):
|
| self.page_filter = page_filter
|
| self.page_filter_exclude = page_filter_exclude
|
| + self.page_label_filter = None
|
| + self.page_label_filter_exclude = None
|
| +
|
| +class MockLabelFilterOptions(object):
|
| + def __init__(self, page_label_filter, page_label_filter_exclude):
|
| + self.page_filter = None
|
| + self.page_filter_exclude = None
|
| + self.page_label_filter = page_label_filter
|
| + self.page_label_filter_exclude = page_label_filter_exclude
|
|
|
| class PageFilterTest(unittest.TestCase):
|
| def setUp(self):
|
| @@ -29,41 +38,62 @@ class PageFilterTest(unittest.TestCase):
|
| { 'name': None })
|
|
|
| def testURLPattern(self):
|
| - options = MockOptions('conformance/textures', '')
|
| + options = MockUrlFilterOptions('conformance/textures', '')
|
| page_filter = page_filter_module.PageFilter(options)
|
| self.assertTrue(page_filter.IsSelected(self.p1))
|
| self.assertFalse(page_filter.IsSelected(self.p2))
|
| - options = MockOptions('textures', '')
|
| + options = MockUrlFilterOptions('textures', '')
|
| page_filter = page_filter_module.PageFilter(options)
|
| self.assertTrue(page_filter.IsSelected(self.p1))
|
| self.assertTrue(page_filter.IsSelected(self.p2))
|
| - options = MockOptions('somethingelse', '')
|
| + options = MockUrlFilterOptions('somethingelse', '')
|
| page_filter = page_filter_module.PageFilter(options)
|
| self.assertFalse(page_filter.IsSelected(self.p1))
|
| self.assertFalse(page_filter.IsSelected(self.p2))
|
|
|
| def testName(self):
|
| - options = MockOptions('somethingelse', '')
|
| + options = MockUrlFilterOptions('somethingelse', '')
|
| page_filter = page_filter_module.PageFilter(options)
|
| self.assertFalse(page_filter.IsSelected(self.p1))
|
| self.assertFalse(page_filter.IsSelected(self.p2))
|
| - options = MockOptions('textures_tex_sub_image', '')
|
| + options = MockUrlFilterOptions('textures_tex_sub_image', '')
|
| page_filter = page_filter_module.PageFilter(options)
|
| self.assertTrue(page_filter.IsSelected(self.p1))
|
| self.assertTrue(page_filter.IsSelected(self.p2))
|
| - options = MockOptions('WebglConformance', '')
|
| + options = MockUrlFilterOptions('WebglConformance', '')
|
| page_filter = page_filter_module.PageFilter(options)
|
| self.assertTrue(page_filter.IsSelected(self.p1))
|
| self.assertFalse(page_filter.IsSelected(self.p2))
|
| - options = MockOptions('OtherSuite', '')
|
| + options = MockUrlFilterOptions('OtherSuite', '')
|
| page_filter = page_filter_module.PageFilter(options)
|
| self.assertFalse(page_filter.IsSelected(self.p1))
|
| self.assertTrue(page_filter.IsSelected(self.p2))
|
|
|
| def testNameNone(self):
|
| - options = MockOptions('othersuite/textures', '')
|
| + options = MockUrlFilterOptions('othersuite/textures', '')
|
| page_filter = page_filter_module.PageFilter(options)
|
| self.assertTrue(page_filter.IsSelected(self.p3))
|
| - options = MockOptions('conformance/textures', '')
|
| + options = MockUrlFilterOptions('conformance/textures', '')
|
| + page_filter = page_filter_module.PageFilter(options)
|
| + self.assertFalse(page_filter.IsSelected(self.p3))
|
| +
|
| + def testLabelFilters(self):
|
| + self.p1.label1 = True
|
| + self.p2.label1 = True
|
| + self.p3.label1 = False
|
| + self.p1.label2 = True
|
| + self.p2.label2 = False
|
| + self.p3.label2 = True
|
| +
|
| + # Include both labels
|
| + options = MockLabelFilterOptions('label1,label2', '')
|
| page_filter = page_filter_module.PageFilter(options)
|
| + self.assertTrue(page_filter.IsSelected(self.p1))
|
| + self.assertTrue(page_filter.IsSelected(self.p2))
|
| + self.assertTrue(page_filter.IsSelected(self.p3))
|
| + # Exclude takes priority
|
| + options = MockLabelFilterOptions('label1', 'label2')
|
| + page_filter = page_filter_module.PageFilter(options)
|
| + self.assertFalse(page_filter.IsSelected(self.p1))
|
| + self.assertTrue(page_filter.IsSelected(self.p2))
|
| self.assertFalse(page_filter.IsSelected(self.p3))
|
|
|