| Index: tools/telemetry/telemetry/value/string_unittest.py
|
| diff --git a/tools/telemetry/telemetry/value/string_unittest.py b/tools/telemetry/telemetry/value/string_unittest.py
|
| index 0168539abba5721007e5c8652374c237785070e8..4c6b5270b08006469641f2974bf0eaf59a1cd754 100644
|
| --- a/tools/telemetry/telemetry/value/string_unittest.py
|
| +++ b/tools/telemetry/telemetry/value/string_unittest.py
|
| @@ -6,6 +6,7 @@ import unittest
|
|
|
| from telemetry import value
|
| from telemetry.page import page_set
|
| +from telemetry.value import none_values
|
| from telemetry.value import string
|
|
|
|
|
| @@ -48,7 +49,7 @@ class StringValueTest(TestBase):
|
| self.assertEquals(True, vM.important)
|
| self.assertEquals(['L1', 'L2'], vM.values)
|
|
|
| - def testStringDifferentSiteMerging(self):
|
| + def testStringDifferentPageMerging(self):
|
| page0 = self.pages[0]
|
| page1 = self.pages[1]
|
| v0 = string.StringValue(page0, 'x', 'label', 'L1')
|
| @@ -61,6 +62,28 @@ class StringValueTest(TestBase):
|
| self.assertEquals(True, vM.important)
|
| self.assertEquals(['L1', 'L2'], vM.values)
|
|
|
| + def testStringWithNoneValueMerging(self):
|
| + page0 = self.pages[0]
|
| + v0 = string.StringValue(page0, 'x', 'unit', 'L1')
|
| + v1 = string.StringValue(page0, 'x', 'unit', None, none_value_reason='n')
|
| + self.assertTrue(v1.IsMergableWith(v0))
|
| +
|
| + vM = string.StringValue.MergeLikeValuesFromSamePage([v0, v1])
|
| + self.assertEquals(None, vM.values)
|
| + self.assertEquals(none_values.MERGE_FAILURE_REASON,
|
| + vM.none_value_reason)
|
| +
|
| + def testStringWithNoneValueMustHaveNoneReason(self):
|
| + page0 = self.pages[0]
|
| + self.assertRaises(none_values.NoneValueMissingReason,
|
| + lambda: string.StringValue(page0, 'x', 'unit', None))
|
| +
|
| + def testStringWithNoneReasonMustHaveNoneValue(self):
|
| + page0 = self.pages[0]
|
| + self.assertRaises(none_values.ValueMustHaveNoneValue,
|
| + lambda: string.StringValue(page0, 'x', 'unit', 'L1',
|
| + none_value_reason='n'))
|
| +
|
| def testAsDict(self):
|
| v = string.StringValue(None, 'x', 'unit', 'foo', important=False)
|
| d = v.AsDictWithoutBaseClassEntries()
|
| @@ -69,6 +92,16 @@ class StringValueTest(TestBase):
|
| 'value': 'foo'
|
| })
|
|
|
| + def testNoneValueAsDict(self):
|
| + v = string.StringValue(None, 'x', 'unit', None, important=False,
|
| + none_value_reason='n')
|
| + d = v.AsDictWithoutBaseClassEntries()
|
| +
|
| + self.assertEquals(d, {
|
| + 'value': None,
|
| + 'none_value_reason': 'n'
|
| + })
|
| +
|
| def testFromDict(self):
|
| d = {
|
| 'type': 'string',
|
| @@ -81,3 +114,18 @@ class StringValueTest(TestBase):
|
|
|
| self.assertTrue(isinstance(v, string.StringValue))
|
| self.assertEquals(v.value, 'foo')
|
| +
|
| + def testFromDictNoneValue(self):
|
| + d = {
|
| + 'type': 'string',
|
| + 'name': 'x',
|
| + 'units': 'unit',
|
| + 'value': None,
|
| + 'none_value_reason': 'n'
|
| + }
|
| +
|
| + v = value.Value.FromDict(d, {})
|
| +
|
| + self.assertTrue(isinstance(v, string.StringValue))
|
| + self.assertEquals(v.value, None)
|
| + self.assertEquals(v.none_value_reason, 'n')
|
|
|