Provide .psgi for Plack goodness.
[catagits/Gitalist.git] / t / 02git_Repository.t
index 0ac8294..ba86a79 100644 (file)
@@ -56,6 +56,8 @@ is($proj->head_hash, '36c6c6708b8360d7023e8a1649c45bcf9b3bd818', 'head_hash for
 is($proj->head_hash('refs/heads/master'), '36c6c6708b8360d7023e8a1649c45bcf9b3bd818', 'head_hash for refs/heads/master is correct');
 is($proj->head_hash('rafs/head/mister'), undef, 'head_hash for rafs/head/mister is undef');
 
+ok(scalar @{$proj->tags} == 1, '->tags list has one element');
+
 # Return an ::Object from a sha1
 my $obj1 = $proj->get_object('729a7c3f6ba5453b42d16a43692205f67fb23bc1');
 isa_ok($obj1, 'Gitalist::Git::Object::Tree');
@@ -81,3 +83,46 @@ my $owner = $proj->owner;
 is_flagged_utf8($owner, "Owner name is flagged as utf8");
 is_sane_utf8($owner, "Owner name is not double-encoded");
 is($owner, decode_utf8("T\x{c3}\x{a9}st"),  "Owner name is correct");
+
+is_deeply $proj->pack,  {
+    __CLASS__   => 'Gitalist::Git::Repository',
+    description => 'some test repository',
+    heads       => [
+        {
+            __CLASS__   => 'Gitalist::Git::Head',
+            committer   => 'Zachary Stevens <zts@cryptocracy.com>',
+            last_change => '2009-11-12T19:00:34Z',
+            name        => 'branch1',
+            sha1        => '0710a7c8ee11c73e8098d08f9384c2a839c65e4e'
+        },
+        {
+            __CLASS__   => 'Gitalist::Git::Head',
+            committer   => 'Florian Ragwitz <rafl@debian.org>',
+            last_change => '2007-03-06T20:44:35Z',
+            name        => 'master',
+            sha1        => '36c6c6708b8360d7023e8a1649c45bcf9b3bd818'
+        }
+    ],
+    is_bare     => 1,
+    last_change => '2009-11-12T19:00:34Z',
+    name        => 'repo1',
+    owner       => "T\351st",
+    references  => {
+        "36c6c6708b8360d7023e8a1649c45bcf9b3bd818" => [
+            'heads/master',
+            'tags/0.01'
+        ],
+        "0710a7c8ee11c73e8098d08f9384c2a839c65e4e" => [ 'heads/branch1' ]
+    },
+    tags        => [ {
+        __CLASS__
+             => 'Gitalist::Git::Tag',
+        committer
+             => 'Florian Ragwitz <rafl@debian.org>',
+        last_change
+             => '2007-03-06T20:44:35Z',
+        name    => 0.01,
+        sha1    => '36c6c6708b8360d7023e8a1649c45bcf9b3bd818',
+        type    => 'commit'
+    } ]
+}, 'Serialized correctly';