diff options
-rw-r--r-- | morphlib/buildsystem.py | 14 | ||||
-rw-r--r-- | morphlib/buildsystem_tests.py | 5 |
2 files changed, 19 insertions, 0 deletions
diff --git a/morphlib/buildsystem.py b/morphlib/buildsystem.py index ba6d8998..8b71a640 100644 --- a/morphlib/buildsystem.py +++ b/morphlib/buildsystem.py @@ -40,6 +40,20 @@ class BuildSystem(object): def __getitem__(self, key): key = '_'.join(key.split('-')) return getattr(self, key) + + def get_morphology_text(self, name): + '''Return the text of an autodetected chunk morphology.''' + + return ''' + { + "name": "%(name)s", + "kind": "chunk", + "build-system": "%(bs)s" + } + ''' % { + 'name': name, + 'bs': self.name, + } def used_by_project(self, srcdir): '''Does project at ``srcdir`` use this build system?''' diff --git a/morphlib/buildsystem_tests.py b/morphlib/buildsystem_tests.py index 5d21b8ba..6d426d8c 100644 --- a/morphlib/buildsystem_tests.py +++ b/morphlib/buildsystem_tests.py @@ -51,6 +51,11 @@ class BuildSystemTests(unittest.TestCase): def test_has_install_commands(self): self.assertEqual(self.bs['install-commands'], []) + + def test_returns_morphology_text(self): + self.bs.name = 'fake' + text = self.bs.get_morphology_text('foobar') + self.assertTrue(type(text) in (str, unicode)) class ManualBuildSystemTests(unittest.TestCase): |