= Object Functionality for ManifestDestiny = * def manifest(...): "a decorator which will take a list of tests and xform -> Manifest obj" * @manifest def add(self, tests): "add tests to the manifests __iadd__ = add # TODO: __add__ which will return a new manifest * def __getitem__(self, item): "returns test at index" # if passed a string, could return test of that name/path * __iter__ * ^- delegate to self.tests * def absolute(...): "make this manifest absolute" # TODO: or return a manifest copy? `def absolute(self, in_place=False)` def __abs__(self): return self.absolute(in_place=False) # see also: https://bugzilla.mozilla.org/show_bug.cgi?id=902628 * def copy(self): "returns a copy of the manifest" * def __contains__(self, path): "returns if `path` is included in the manifest" * # some function that returns a manifest based on paths/subpaths