You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by rd...@apache.org on 2011/07/16 13:52:19 UTC
svn commit: r1147409 - in /incubator/rat/eye/trunk:
org/apache/rat/eye/review.py test/test_review.py
Author: rdonkin
Date: Sat Jul 16 11:52:18 2011
New Revision: 1147409
URL: http://svn.apache.org/viewvc?rev=1147409&view=rev
Log:
Added reviewer for jar manifests.
Modified:
incubator/rat/eye/trunk/org/apache/rat/eye/review.py
incubator/rat/eye/trunk/test/test_review.py
Modified: incubator/rat/eye/trunk/org/apache/rat/eye/review.py
URL: http://svn.apache.org/viewvc/incubator/rat/eye/trunk/org/apache/rat/eye/review.py?rev=1147409&r1=1147408&r2=1147409&view=diff
==============================================================================
--- incubator/rat/eye/trunk/org/apache/rat/eye/review.py (original)
+++ incubator/rat/eye/trunk/org/apache/rat/eye/review.py Sat Jul 16 11:52:18 2011
@@ -53,11 +53,33 @@ class MetaInfContainsLicenseAndNotice():
class MetaInfContents():
def reviewMetaInf(self, metainf):
- return Message("In META-INF", [os.path.basename(name) for name in metainf.keys()])
+ return Message("In META-INF",
+ [os.path.basename(name) for name in metainf.keys()])
class SimpleMetaInfView():
def reviewMetaInf(self, metainf):
return [Message(name, details) for name, details in metainf.iteritems()]
+
+
+class JarManifestReviewer():
+ """
+ Reviews Jar MANIFESTS.
+ """
+ def __init__(self, reviewers):
+ self.reviewers = reviewers
+
+ def reviewMetaInf(self, metainf):
+ if self.reviewers:
+ return filter(None,
+ [self._reviewMetaInf(metainf, reviewer)
+ for reviewer in self.reviewers])
+ else:
+ return None
+
+ def _reviewMetaInf(self, metainf, reviewer):
+ if hasattr(reviewer, "reviewManifest"):
+ return reviewer.reviewManifest(metainf["MANIFEST.MF"])
+ return None
class SimpleJarManifestParser():
"""
Modified: incubator/rat/eye/trunk/test/test_review.py
URL: http://svn.apache.org/viewvc/incubator/rat/eye/trunk/test/test_review.py?rev=1147409&r1=1147408&r2=1147409&view=diff
==============================================================================
--- incubator/rat/eye/trunk/test/test_review.py (original)
+++ incubator/rat/eye/trunk/test/test_review.py Sat Jul 16 11:52:18 2011
@@ -107,5 +107,31 @@ class TestReviews(unittest.TestCase):
self.assertIsNotNone(review.MetaInfContainsLicenseAndNotice().reviewMetaInf(
{chaff: "Chaff Text"}))
+class ManifestSpy():
+ def __init__(self):
+ self.manifests = []
+ self.messages = []
+
+ def reviewManifest(self, manifest):
+ self.manifests.append(manifest)
+ return self.messages
+
+class TestManifestReviews(unittest.TestCase):
+
+
+ def testHeaderNameReview(self):
+ someHeaderNames = ["OneHeader", "Another", "21"]
+ manifest = []
+ for name in someHeaderNames:
+ manifest.append(name + ": SomeValue\n")
+ aMetaInf = {"MANIFEST.MF": manifest, "CHAFF":["Some chaff\n"]}
+
+ spy = ManifestSpy()
+ messages = ["whatever", "whoever"]
+ spy.messages = messages
+
+ self.assertEquals(review.JarManifestReviewer([spy]).reviewMetaInf(aMetaInf), [messages])
+ self.assertEquals(spy.manifests, [manifest])
+
if __name__ == '__main__':
unittest.main()