| Index: tools/telemetry/telemetry/value/list_of_string_values_unittest.py
|
| diff --git a/tools/telemetry/telemetry/value/list_of_string_values_unittest.py b/tools/telemetry/telemetry/value/list_of_string_values_unittest.py
|
| index e53022ff8eebf9eaabe398fb837a03b2a0099f82..e4f974e16455754463319e1870618bc69e8d5f2a 100644
|
| --- a/tools/telemetry/telemetry/value/list_of_string_values_unittest.py
|
| +++ b/tools/telemetry/telemetry/value/list_of_string_values_unittest.py
|
| @@ -7,6 +7,7 @@ import unittest
|
| from telemetry import value
|
| from telemetry.page import page_set
|
| from telemetry.value import list_of_string_values
|
| +from telemetry.value import none_values
|
|
|
|
|
| class TestBase(unittest.TestCase):
|
| @@ -61,12 +62,13 @@ class ListOfStringValuesTest(TestBase):
|
|
|
| def testListDifferentPageMerging(self):
|
| page0 = self.pages[0]
|
| + page1 = self.pages[0]
|
| v0 = list_of_string_values.ListOfStringValues(
|
| page0, 'x', 'label',
|
| - ['L1', 'L2'], same_page_merge_policy=value.PICK_FIRST)
|
| + ['L1', 'L2'], same_page_merge_policy=value.CONCATENATE)
|
| v1 = list_of_string_values.ListOfStringValues(
|
| - page0, 'x', 'label',
|
| - ['L3', 'L4'], same_page_merge_policy=value.PICK_FIRST)
|
| + page1, 'x', 'label',
|
| + ['L3', 'L4'], same_page_merge_policy=value.CONCATENATE)
|
| self.assertTrue(v1.IsMergableWith(v0))
|
|
|
| vM = (list_of_string_values.ListOfStringValues.
|
| @@ -74,10 +76,38 @@ class ListOfStringValuesTest(TestBase):
|
| self.assertEquals(None, vM.page)
|
| self.assertEquals('x', vM.name)
|
| self.assertEquals('label', vM.units)
|
| - self.assertEquals(value.PICK_FIRST, vM.same_page_merge_policy)
|
| + self.assertEquals(value.CONCATENATE, vM.same_page_merge_policy)
|
| self.assertEquals(True, vM.important)
|
| self.assertEquals(['L1', 'L2', 'L3', 'L4'], vM.values)
|
|
|
| + def testListWithNoneValueMerging(self):
|
| + page0 = self.pages[0]
|
| + v0 = list_of_string_values.ListOfStringValues(
|
| + page0, 'x', 'unit',
|
| + ['L1', 'L2'], same_page_merge_policy=value.CONCATENATE)
|
| + v1 = list_of_string_values.ListOfStringValues(
|
| + page0, 'x', 'unit',
|
| + None, same_page_merge_policy=value.CONCATENATE, none_value_reason='n')
|
| + self.assertTrue(v1.IsMergableWith(v0))
|
| +
|
| + vM = (list_of_string_values.ListOfStringValues.
|
| + MergeLikeValuesFromSamePage([v0, v1]))
|
| + self.assertEquals(None, vM.values)
|
| + self.assertEquals(none_values.MERGE_FAILURE_REASON, vM.none_value_reason)
|
| +
|
| + def testListWithNoneValueMustHaveNoneReason(self):
|
| + page0 = self.pages[0]
|
| + self.assertRaises(none_values.NoneValueMissingReason,
|
| + lambda: list_of_string_values.ListOfStringValues(
|
| + page0, 'x', 'unit', None))
|
| +
|
| + def testListWithNoneReasonMustHaveNoneValue(self):
|
| + page0 = self.pages[0]
|
| + self.assertRaises(none_values.ValueMustHaveNoneValue,
|
| + lambda: list_of_string_values.ListOfStringValues(
|
| + page0, 'x', 'unit', ['L1', 'L2'],
|
| + none_value_reason='n'))
|
| +
|
| def testAsDict(self):
|
| v = list_of_string_values.ListOfStringValues(
|
| None, 'x', 'unit', ['foo', 'bar'],
|
| @@ -88,6 +118,17 @@ class ListOfStringValuesTest(TestBase):
|
| 'values': ['foo', 'bar']
|
| })
|
|
|
| + def testNoneValueAsDict(self):
|
| + v = list_of_string_values.ListOfStringValues(
|
| + None, 'x', 'unit', None, same_page_merge_policy=value.PICK_FIRST,
|
| + important=False, none_value_reason='n')
|
| + d = v.AsDictWithoutBaseClassEntries()
|
| +
|
| + self.assertEquals(d, {
|
| + 'values': None,
|
| + 'none_value_reason': 'n'
|
| + })
|
| +
|
| def testFromDict(self):
|
| d = {
|
| 'type': 'list_of_string_values',
|
| @@ -99,3 +140,17 @@ class ListOfStringValuesTest(TestBase):
|
|
|
| self.assertTrue(isinstance(v, list_of_string_values.ListOfStringValues))
|
| self.assertEquals(v.values, ['foo', 'bar'])
|
| +
|
| + def testFromDictNoneValue(self):
|
| + d = {
|
| + 'type': 'list_of_string_values',
|
| + 'name': 'x',
|
| + 'units': 'unit',
|
| + 'values': None,
|
| + 'none_value_reason': 'n'
|
| + }
|
| + v = value.Value.FromDict(d, {})
|
| +
|
| + self.assertTrue(isinstance(v, list_of_string_values.ListOfStringValues))
|
| + self.assertEquals(v.values, None)
|
| + self.assertEquals(v.none_value_reason, 'n')
|
|
|