Index: /trunk/PS-IPP-PSFTP/MANIFEST
===================================================================
--- /trunk/PS-IPP-PSFTP/MANIFEST	(revision 5231)
+++ /trunk/PS-IPP-PSFTP/MANIFEST	(revision 5232)
@@ -9,2 +9,3 @@
 t/00_distribution.t
 t/01_load.t
+t/02_parse.t
Index: /trunk/PS-IPP-PSFTP/t/02_parse.t
===================================================================
--- /trunk/PS-IPP-PSFTP/t/02_parse.t	(revision 5232)
+++ /trunk/PS-IPP-PSFTP/t/02_parse.t	(revision 5232)
@@ -0,0 +1,82 @@
+#!/usr/bin/env perl
+
+# Copyright (C) 2005  Joshua Hoblitt
+#
+# $Id: 02_parse.t,v 1.1 2005-10-07 00:12:11 jhoblitt Exp $
+
+use strict;
+use warnings;
+
+use lib qw( ./lib ./t );
+
+use Test::More qw( no_plan );
+
+use PS::IPP::PSFTP::Parser;
+
+my $example1 =<<END;
+2005-08-06|19:30:01|telescope_2005-08-06T19:30:01|metadata||8640|c462d570deb517d9bd92e5bb6a21cc86|http://flaxen.ifa.hawaii.edu/otis/data/metadata/telescope_2005-08-06T19:30:01
+2005-08-06|19:40:01|telescope_2005-08-06T19:40:01|metadata||8640|c462d570deb517d9bd92e5bb6a21cc86|http://flaxen.ifa.hawaii.edu/otis/data/metadata/telescope_2005-08-06T19:40:01
+2005-08-06|19:50:01|telescope_2005-08-06T19:50:01|metadata||8640|c462d570deb517d9bd92e5bb6a21cc86|http://flaxen.ifa.hawaii.edu/otis/data/metadata/telescope_2005-08-06T19:50:01
+END
+
+my $parser = PS::IPP::PSFTP::Parser->new;
+
+{
+my @items = $parser->parser($example1);
+
+is(scalar @items, 3, "correct number of item returned");
+
+{
+    my $item = pop @items;
+    is($item->stamp,   "2005-08-06T19:30:01",           "correct time stamp");
+    is($item->id,      "telescope_2005-08-06T19:30:01", "correct id");
+    is($item->type,    "metadata",                      "correct type");
+    is($item->size,    8640,                            "correct size");
+    is($item->md5,     "c462d570deb517d9bd92e5bb6a21cc86", "correct md5");
+    is($item->url,
+        "http://flaxen.ifa.hawaii.edu/otis/data/metadata/telescope_2005-08-06T19:30:01", "correct url");
+    is($item->attributes, undef, "no attributes");
+}
+
+{
+    my $item = pop @items;
+    is($item->stamp,   "2005-08-06T19:40:01",           "correct time stamp");
+    is($item->id,      "telescope_2005-08-06T19:40:01", "correct id");
+    is($item->type,    "metadata",                      "correct type");
+    is($item->size,    8640,                            "correct size");
+    is($item->md5,     "c462d570deb517d9bd92e5bb6a21cc86", "correct md5");
+    is($item->url,     "http://flaxen.ifa.hawaii.edu/otis/data/metadata/telescope_2005-08-06T19:40:01", "correct url");
+    is($item->attributes, undef, "no attributes");
+}
+
+{
+    my $item = pop @items;
+    is($item->stamp,   "2005-08-06T19:50:01",           "correct time stamp");
+    is($item->id,      "telescope_2005-08-06T19:50:01", "correct id");
+    is($item->type,    "metadata",                      "correct type");
+    is($item->size,    8640,                            "correct size");
+    is($item->md5,     "c462d570deb517d9bd92e5bb6a21cc86", "correct md5");
+    is($item->url,     "http://flaxen.ifa.hawaii.edu/otis/data/metadata/telescope_2005-08-06T19:50:01", "correct url");
+    is($item->attributes, undef, "no attributes");
+}
+}
+
+my $example2 =<<END;
+2005-08-06|19:30:01|telescope_2005-08-06T19:30:01|metadata|foo=bar:baz=baz|8640|c462d570deb517d9bd92e5bb6a21cc86|http://flaxen.ifa.hawaii.edu/otis/data/metadata/telescope_2005-08-06T19:30:01
+END
+
+{
+my @items = $parser->parser($example2);
+is(scalar @items, 1, "correct number of item returned");
+
+{
+    my $item = pop @items;
+    is($item->stamp,   "2005-08-06T19:30:01",           "correct time stamp");
+    is($item->id,      "telescope_2005-08-06T19:30:01", "correct id");
+    is($item->type,    "metadata",                      "correct type");
+    is($item->size,    8640,                            "correct size");
+    is($item->md5,     "c462d570deb517d9bd92e5bb6a21cc86", "correct md5");
+    is($item->url,     "http://flaxen.ifa.hawaii.edu/otis/data/metadata/telescope_2005-08-06T19:30:01", "correct url");
+    eq_hash($item->attributes, { foo => 'bar', baz => 'baz' }, "no attributes");
+}
+}
