blob: cb5558d299ea61df22f7648012c49ead0314b81a [file] [log] [blame]
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import os.path
import unittest
from fetcher.mojom_file import MojomFile
from fetcher.dependency import Dependency
from fetcher.repository import Repository
from fakes import FakeDependency, FakeMojomFile
class TestMojomFile(unittest.TestCase):
def test_add_dependency(self):
mojom = MojomFile(Repository("/base/repo", "third_party/external"),
"mojom_name")
mojom.add_dependency("dependency_name")
self.assertEqual(1, len(mojom.deps))
self.assertEqual("mojom_name", mojom.deps[0].get_importer())
self.assertEqual("dependency_name", mojom.deps[0].get_imported())
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")
params = mojom.get_jinja_parameters([])
self.assertEquals({
"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)