Index: tools/telemetry/telemetry/results/json_output_formatter_unittest.py |
diff --git a/tools/telemetry/telemetry/results/json_output_formatter_unittest.py b/tools/telemetry/telemetry/results/json_output_formatter_unittest.py |
index 8c5af58e07ecb990163c90fb75e3caaae640911e..13f2c864a76b3bc0c0b39942ec01a843cba3d077 100644 |
--- a/tools/telemetry/telemetry/results/json_output_formatter_unittest.py |
+++ b/tools/telemetry/telemetry/results/json_output_formatter_unittest.py |
@@ -10,8 +10,9 @@ from telemetry import benchmark |
from telemetry.page import page_set |
from telemetry.results import json_output_formatter |
from telemetry.results import page_test_results |
+from telemetry.timeline import timeline_data |
from telemetry.value import scalar |
- |
+from telemetry.value import trace |
def _MakePageSet(): |
ps = page_set.PageSet(file_path=os.path.dirname(__file__)) |
@@ -25,6 +26,20 @@ def _HasPage(pages, page): |
def _HasValueNamed(values, name): |
return len([x for x in values if x['name'] == name]) == 1 |
+class TimelineDataForTest(timeline_data.TimelineData): |
+ def __init__(self): |
+ super(TimelineDataForTest, self).__init__() |
+ self._event_data = 'foo' |
+ |
+ def Serialize(self, f): |
+ f.write(self._event_data) |
+ f.flush() |
+ os.fsync(f) |
+ |
+ def EventData(self): |
+ return self._event_data |
+ |
+ |
class JsonOutputFormatterTest(unittest.TestCase): |
def setUp(self): |
self._output = StringIO.StringIO() |
@@ -96,3 +111,26 @@ class JsonOutputFormatterTest(unittest.TestCase): |
self.assertFalse(d['pages']) |
self.assertTrue(_HasValueNamed(d['summary_values'], 'baz')) |
+ |
+ def testAsDictWithFile(self): |
+ results = page_test_results.PageTestResults() |
+ v = trace.TraceValue(None, 'foo', TimelineDataForTest()) |
+ results.AddSummaryValue(v) |
+ |
+ d = json_output_formatter.ResultsAsDict(results, |
+ self._formatter.benchmark_metadata) |
+ |
+ file_id = v.GetAssociatedFileHandle().id |
+ expected_name = str(file_id) + '.html' |
+ actual_name = os.path.split(d['files'][file_id])[1] |
+ self.assertEquals(expected_name, actual_name) |
+ |
+ def testAsDictWithoutFile(self): |
+ results = page_test_results.PageTestResults() |
+ v = scalar.ScalarValue(None, 'baz', 'seconds', 5) |
+ results.AddSummaryValue(v) |
+ |
+ d = json_output_formatter.ResultsAsDict(results, |
+ self._formatter.benchmark_metadata) |
+ |
+ self.assertNotIn('files', d) |