1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved. 2a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 3a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)# found in the LICENSE file. 4a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)import unittest 6a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 7f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)from telemetry.timeline import empty_timeline_data_importer 8f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)from telemetry.timeline import tracing_timeline_data 9a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class EmptyTimelineDataImporterTest(unittest.TestCase): 12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) def testCanImportEmptyTimelineData(self): 13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) # We can import empty lists and empty string wrapped in subclasses of 14a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) # TimelineData 15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) self.assertTrue( 16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) empty_timeline_data_importer.EmptyTimelineDataImporter.CanImport( 17a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) tracing_timeline_data.TracingTimelineData([]))) 18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) self.assertTrue( 19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) empty_timeline_data_importer.EmptyTimelineDataImporter.CanImport( 20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) tracing_timeline_data.TracingTimelineData(''))) 21a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) def testCannotImportNonEmptyTimelineData(self): 23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) # We can't import non-empty TimelineData objects 24a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) self.assertFalse( 25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) empty_timeline_data_importer.EmptyTimelineDataImporter.CanImport( 26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) tracing_timeline_data.TracingTimelineData([1,2,3]))) 27a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 28a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) def testCannotImportEmptyRawData(self): 29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) # We can't import raw data (not wrapped in a TimelineData object) 30a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) self.assertFalse( 31a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) empty_timeline_data_importer.EmptyTimelineDataImporter.CanImport([])) 32a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) self.assertFalse( 33a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) empty_timeline_data_importer.EmptyTimelineDataImporter.CanImport('')) 34