Ejemplo n.º 1
0
	def _get_commit_dir_template(self):
		AUTHOR_CONTEXT_VALUES    = {CommitContextNames.PERSON_TYPE:CommitPersonTypes.AUTHOR}
		COMMITTER_CONTEXT_VALUES = {CommitContextNames.PERSON_TYPE:CommitPersonTypes.COMMITTER}
		return template(Directory, items=[
			template(CommitMessageFile, name='message'),
			template(CommitPersonNameFile , name='author-name' , context_values=AUTHOR_CONTEXT_VALUES),
			template(CommitPersonEmailFile, name='author-email', context_values=AUTHOR_CONTEXT_VALUES),
			template(CommitPersonDateFile , name='author-date' , context_values=AUTHOR_CONTEXT_VALUES),
			template(CommitPersonNameFile , name='committer-name' , context_values=COMMITTER_CONTEXT_VALUES),
			template(CommitPersonEmailFile, name='committer-email', context_values=COMMITTER_CONTEXT_VALUES),
			template(CommitPersonDateFile , name='committer-date' , context_values=COMMITTER_CONTEXT_VALUES),
			template(CommitTreeSymLink, name='tree'),
			template(CommitParentsProvider, prefix='parent'),
		])
Ejemplo n.º 2
0
	def test_create_instance(self):
		class Class(object): pass
		tmpl = template(Class)
		
		instance = tmpl.create_instance()
		
		self.assertIsInstance(instance, Class)
Ejemplo n.º 3
0
	def test_recurse_on_list_arguments(self):
		class BaseClass(object):
			def __init__(self, **kwargs):
				for name, value in kwargs.iteritems():
					setattr(self, name, value)
		class Class1(BaseClass): pass
		class Class2(BaseClass): pass
		NAME = 'name'
		AGE = 99
		OTHER = object()
		tmpl = template(Class1, name=NAME, list_arg=[
			AGE,
			template(Class2, other=OTHER)
		])
		
		instance = tmpl.create_instance()
		
		self.assertIs(instance.name, NAME)
		self.assertIsInstance(instance.list_arg, list)
		self.assertIs(instance.list_arg[0], AGE)
		self.assertIsInstance(instance.list_arg[1], Class2)
		self.assertIs(instance.list_arg[1].other, OTHER)
Ejemplo n.º 4
0
	def test_forward_constructor_arguments(self):
		class Class(object):
			def __init__(self, name, age):
				self.name = name
				self.age = age
		NAME = 'name'
		AGE = 56
		tmpl = template(Class, name=NAME, age=AGE)
		
		instance = tmpl.create_instance()
		
		self.assertIs(instance.name, NAME)
		self.assertIs(instance.age, AGE)
Ejemplo n.º 5
0
	def test_create_with_additional_arguments(self):
		class Class(object):
			def __init__(self, **kwargs):
				self.kwargs = kwargs
		NAME = 'name'
		AGE = 56
		STATUS = True
		tmpl = template(Class, name=NAME, age=12)
		
		instance = tmpl.create_instance(age=AGE, status=STATUS)
		
		expected_kwargs = {
			'name'   : NAME,
			'age'    : AGE,
			'status' : STATUS,
		}
		self.assertDictEqual(instance.kwargs, expected_kwargs)
Ejemplo n.º 6
0
	def _get_tree_dir_template(self):
		return template(Directory, items=[template(TreeDirItemsProvider)])
Ejemplo n.º 7
0
 def _get_commit_dir_template(self):
     return template(
         Directory,
         items=[
             template(CommitMessageFile, name="message"),
             template(
                 Directory,
                 name="author",
                 context_values={CommitContextNames.PERSON_TYPE: CommitPersonTypes.AUTHOR},
                 items=[
                     template(CommitPersonNameFile, name="name"),
                     template(CommitPersonEmailFile, name="email"),
                     template(CommitPersonDateFile, name="date"),
                 ],
             ),
             template(
                 Directory,
                 name="committer",
                 context_values={CommitContextNames.PERSON_TYPE: CommitPersonTypes.COMMITTER},
                 items=[
                     template(CommitPersonNameFile, name="name"),
                     template(CommitPersonEmailFile, name="email"),
                     template(CommitPersonDateFile, name="date"),
                 ],
             ),
             template(CommitTreeSymLink, name="tree"),
             template(Directory, name="parents", items=[template(CommitParentsProvider)]),
         ],
     )