def test_jinja_parameters(self): mojom = FakeMojomFile( Repository("/base/repo", "third_party/external"), "/base/repo/third_party/external/domokit.org/bar/baz/foo.mojom") mojom.add_dependency("example.com/dir/example.mojom") mojom.add_dependency("example.com/dir/dir.mojom") mojom.add_dependency("buzz.mojom") mojom.add_dependency("foo/bar.mojom") mojom.add_dependency("mojo/public/interfaces/application/shell.mojom") directory = MojomDirectory( "/base/repo/third_party/external/domokit.org/bar/baz") directory.add_mojom(mojom) params = directory.get_jinja_parameters([]) self.assertEquals( { "group_name": "baz", "mojoms": [{ "target_name": "foo", "filename": "foo.mojom", "import_dirs": [".."], "mojo_sdk_deps": ["mojo/public/interfaces/application"], "deps": [ '//third_party/external/example.com/dir:example', '//third_party/external/example.com/dir:dir_mojom', ':buzz', '../foo:bar' ] }] }, params)
def get_all_external_mojom_directories(self): mojom = FakeMojomFile( self, os.path.join(self.get_external_directory(), "domokit.org/bar/baz/foo.mojom")) mojom.add_dependency("example.com/dir/example.mojom") mojom.add_dependency("example.com/dir/dir.mojom") mojom.add_dependency("buzz.mojom") mojom.add_dependency("foo/bar.mojom") mojom.add_dependency("mojo/public/interfaces/application/shell.mojom") directory = MojomDirectory( os.path.join(self.get_external_directory(), "domokit.org/bar/baz")) directory.add_mojom(mojom) return [directory]
def get_all_external_mojom_directories(self): """Get all external directories populated with their mojom files.""" mojoms = self._get_all_mojom_in_directory( self.get_external_directory()) directories = {} for mojom_path in mojoms: directory_path = os.path.dirname(mojom_path) directory = directories.setdefault(directory_path, MojomDirectory(directory_path)) with self._open(mojom_path) as f: source = f.read() tree = Parse(source, mojom_path) mojom = MojomFile(self, mojom_path) directory.add_mojom(mojom) for dep in tree.import_list: mojom.add_dependency(dep.import_filename) return directories.values()
def test_build_gn_path(self): directory = MojomDirectory( "/base/repo/third_party/external/domokit.org/bar/baz") self.assertEquals( "/base/repo/third_party/external/domokit.org/bar/baz/BUILD.gn", directory.get_build_gn_path())