Browse Source

add tests for porcelain.show of tags.

Jelmer Vernooij 6 năm trước cách đây
mục cha
commit
ed533a53d7
2 tập tin đã thay đổi với 41 bổ sung1 xóa
  1. 4 1
      dulwich/porcelain.py
  2. 37 0
      dulwich/tests/test_porcelain.py

+ 4 - 1
dulwich/porcelain.py

@@ -547,7 +547,10 @@ def print_tag(tag, decode, outstream=sys.stdout):
     :param outstream: A stream to write to
     """
     outstream.write("Tagger: " + decode(tag.tagger) + "\n")
-    outstream.write("Date:   " + decode(tag.tag_time) + "\n")
+    time_tuple = time.gmtime(tag.tag_time + tag.tag_timezone)
+    time_str = time.strftime("%a %b %d %Y %H:%M:%S", time_tuple)
+    timezone_str = format_timezone(tag.tag_timezone).decode('ascii')
+    outstream.write("Date:   " + time_str + " " + timezone_str + "\n")
     outstream.write("\n")
     outstream.write(decode(tag.message) + "\n")
     outstream.write("\n")

+ 37 - 0
dulwich/tests/test_porcelain.py

@@ -568,6 +568,43 @@ Date:   Fri Jan 01 2010 00:00:00 +0000
 
 Test message.
 
+diff --git /dev/null b/somename
+new mode 100644
+index 0000000..ea5c7bf 100644
+--- /dev/null
++++ b/somename
+@@ -0,0 +1 @@
++The Foo
+""")
+
+    def test_tag(self):
+        a = Blob.from_string(b"The Foo\n")
+        ta = Tree()
+        ta.add(b"somename", 0o100644, a.id)
+        ca = make_commit(tree=ta.id)
+        self.repo.object_store.add_objects([(a, None), (ta, None), (ca, None)])
+        porcelain.tag_create(
+            self.repo.path, b"tryme", b'foo <foo@bar.com>', b'bar',
+            annotated=True, objectish=ca.id, tag_time=1552854211,
+            tag_timezone=0)
+        outstream = StringIO()
+        porcelain.show(self.repo, objects=[b'refs/tags/tryme'],
+                       outstream=outstream)
+        self.maxDiff = None
+        self.assertMultiLineEqual(outstream.getvalue(), """\
+Tagger: foo <foo@bar.com>
+Date:   Sun Mar 17 2019 20:23:31 +0000
+
+bar
+
+--------------------------------------------------
+commit: 344da06c1bb85901270b3e8875c988a027ec087d
+Author: Test Author <test@nodomain.com>
+Committer: Test Committer <test@nodomain.com>
+Date:   Fri Jan 01 2010 00:00:00 +0000
+
+Test message.
+
 diff --git /dev/null b/somename
 new mode 100644
 index 0000000..ea5c7bf 100644