def testString(self): self.assertEqual(camel_case.ToUnderscore('camelCase'), 'camel_case') self.assertEqual(camel_case.ToUnderscore('CamelCase'), 'camel_case') self.assertEqual(camel_case.ToUnderscore('Camel2Case'), 'camel2_case') self.assertEqual(camel_case.ToUnderscore('Camel2Case2'), 'camel2_case2') self.assertEqual(camel_case.ToUnderscore('2012Q3'), '2012_q3')
def AddResults(self, tab, results): if not self._all_reports: return reports = json.loads(self._all_reports) for i, report in enumerate(reports): time_series = SortStatsIntoTimeSeries(report, self._selected_metrics) # Only ever show stats for 5 peer connections, or it's going to look # insane in the results. if i > 5: PrintSpecialMarkerValue(results) return for stat_name, values in time_series.iteritems(): stat_name_underscored = camel_case.ToUnderscore(stat_name) trace_name = 'peer_connection_%d_%s' % (i, stat_name_underscored) general_name = StripAudioVideoBweDistinction(stat_name) results.AddValue( list_of_scalar_values.ListOfScalarValues( results.current_page, trace_name, INTERESTING_METRICS[general_name]['units'], values, description=INTERESTING_METRICS[general_name] ['description'], important=False))
def testDict(self): camel_case_dict = { 'gpu': { 'vendorId': 1000, 'deviceId': 2000, 'vendorString': 'aString', 'deviceString': 'bString' }, 'secondaryGpus': [{ 'vendorId': 3000, 'deviceId': 4000, 'vendorString': 'k', 'deviceString': 'l' }] } underscore_dict = { 'gpu': { 'vendor_id': 1000, 'device_id': 2000, 'vendor_string': 'aString', 'device_string': 'bString' }, 'secondary_gpus': [{ 'vendor_id': 3000, 'device_id': 4000, 'vendor_string': 'k', 'device_string': 'l' }] } self.assertEqual(camel_case.ToUnderscore(camel_case_dict), underscore_dict)
def GetSystemInfo(self, timeout=10): req = {'method': 'SystemInfo.getInfo'} websocket = inspector_websocket.InspectorWebsocket() try: websocket.Connect( 'ws://127.0.0.1:%i/devtools/browser' % self._port, timeout) res = websocket.SyncRequest(req, timeout) finally: websocket.Disconnect() if 'error' in res: return None return system_info.SystemInfo.FromDict( camel_case.ToUnderscore(res['result']))
def DiscoverClassesInModule(module, base_class, index_by_class_name=False, directly_constructable=False): """Discover all classes in |module| which subclass |base_class|. Base classes that contain subclasses are ignored by default. Args: module: The module to search. base_class: The base class to search for. index_by_class_name: If True, use class name converted to lowercase_with_underscores instead of module name in return dict keys. Returns: dict of {module_name: class} or {underscored_class_name: class} """ classes = {} for _, obj in inspect.getmembers(module): # Ensure object is a class. if not inspect.isclass(obj): continue # Include only subclasses of base_class. if not issubclass(obj, base_class): continue # Exclude the base_class itself. if obj is base_class: continue # Exclude protected or private classes. if obj.__name__.startswith('_'): continue # Include only the module in which the class is defined. # If a class is imported by another module, exclude those duplicates. if obj.__module__ != module.__name__: continue if index_by_class_name: key_name = camel_case.ToUnderscore(obj.__name__) else: key_name = module.__name__.split('.')[-1] if (not directly_constructable or classes_module.IsDirectlyConstructable(obj)): if key_name in classes and index_by_class_name: assert classes[key_name] is obj, ( 'Duplicate key_name with different objs detected: ' 'key=%s, obj1=%s, obj2=%s' % (key_name, classes[key_name], obj)) else: classes[key_name] = obj return classes
def AddResults(self, tab, results): if not self._all_reports: return reports = json.loads(self._all_reports) for i, report in enumerate(reports): time_series = SortStatsIntoTimeSeries(report) for stat_name, values in time_series.iteritems(): stat_name_underscored = camel_case.ToUnderscore(stat_name) trace_name = 'peer_connection_%d_%s' % (i, stat_name_underscored) general_name = StripAudioVideoBweDistinction(stat_name) results.AddValue( list_of_scalar_values.ListOfScalarValues( results.current_page, trace_name, INTERESTING_METRICS[general_name]['units'], values, description=INTERESTING_METRICS[general_name] ['description'], important=False))
def testOther(self): self.assertEqual(camel_case.ToUnderscore(self), self)
def testList(self): camel_case_list = ['CamelCase', ['NestedList']] underscore_list = ['camel_case', ['nested_list']] self.assertEqual(camel_case.ToUnderscore(camel_case_list), underscore_list)
def Name(cls): return camel_case.ToUnderscore(cls.__name__)