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 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): websocket = inspector_websocket.InspectorWebsocket() try: websocket.Connect(self._browser_target_ws, timeout) # Add extra request to debug the crash # (crbug.com/917211). # TODO: remove this once the bug is addressed. if os.name == 'nt': debug_request = { 'method': 'Target.setDiscoverTargets', 'params': { 'discover': True, } } websocket.SyncRequest(debug_request, timeout) req = {'method': 'SystemInfo.getInfo'} 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 GetDiagnosticType(typename): if not Diagnostic._subtypes: Diagnostic._subtypes = discover.DiscoverClasses( os.path.join(tracing_project.TracingProject.tracing_src_path, 'value'), tracing_project.TracingProject.tracing_root_path, Diagnostic, index_by_class_name=True) # TODO(eakuefner): Add camelcase mode to discover.DiscoverClasses. return Diagnostic._subtypes.get(camel_case.ToUnderscore(typename))
def GetSystemInfo(self, timeout=10): req = {'method': 'SystemInfo.getInfo'} websocket = inspector_websocket.InspectorWebsocket() try: websocket.Connect(self._browser_target_ws, 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 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 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__)