Index: branches/neb_distrib_20081210/Nebulous/t/70_neb-ls.t
===================================================================
--- branches/neb_distrib_20081210/Nebulous/t/70_neb-ls.t	(revision 23867)
+++ branches/neb_distrib_20081210/Nebulous/t/70_neb-ls.t	(revision 23875)
@@ -2,12 +2,4 @@
 
 # Copyright (C) 2009  Joshua Hoblitt
-
-use strict;
-use warnings;
-
-use lib qw( ./lib ./t );
-
-use Test::Cmd;
-use Test::More tests => 3;
 
 =head1 NAME
@@ -21,4 +13,20 @@
 =cut
 
+use strict;
+use warnings;
+
+use Apache::Test qw( -withtestmore );
+plan tests => 31;
+
+use lib qw( ./lib ./t );
+
+use Test::Cmd;
+use Nebulous::Client;
+use Test::Nebulous;
+
+my $hostport = Apache::Test->config->{ 'hostport' };
+my $neb_url  = "http://$hostport/nebulous";
+
+
 my $cmd = 'bin/neb-ls';
 
@@ -26,12 +34,167 @@
 chmod 0755, 'bin/neb-ls';
 
-
 my $test = Test::Cmd->new(prog => $cmd, workdir => '');
 isa_ok($test, 'Test::Cmd');
 
+# NEB_SERVER env var not set
+Test::Nebulous->setup;
+
 {
     $test->run(args => '');
     missing_args(2, "Required options: --server");
 }
+
+# NEB_SERVER set
+Test::Nebulous->setup;
+
+{
+    $ENV{NEB_SERVER} = $neb_url;
+
+    $test->run(args => '');
+    is($? >> 8, 0, "exit code");
+}
+
+Test::Nebulous->setup;
+
+{
+    my $neb = Nebulous::Client->new(
+        proxy => $neb_url,
+    );
+    $neb->create('foo');
+
+    $test->run(args => '');
+
+    is($? >> 8, 0, "exit code");
+    like($test->stdout, qr/^foo$/,      "stdout");
+    like($test->stderr, qr/^$/,         "stderr");
+}
+
+Test::Nebulous->setup;
+
+{
+    my $neb = Nebulous::Client->new(
+        proxy => $neb_url,
+    );
+    $neb->create('foo');
+    $neb->create('bar');
+
+    $test->run(args => '');
+
+    is($? >> 8, 0, "exit code");
+    like($test->stdout, qr/^foo bar$/,  "stdout");
+    like($test->stderr, qr/^$/,         "stderr");
+}
+
+Test::Nebulous->setup;
+
+{
+    my $neb = Nebulous::Client->new(
+        proxy => $neb_url,
+    );
+    $neb->create('foo');
+    $neb->create('bar');
+
+    $test->run(args => '-l');
+
+    is($? >> 8, 0, "exit code");
+    like($test->stdout, qr/^foo\nbar\n$/,   "stdout");
+    like($test->stderr, qr/^$/,             "stderr");
+}
+
+Test::Nebulous->setup;
+
+{
+    my $neb = Nebulous::Client->new(
+        proxy => $neb_url,
+    );
+    $neb->create('foo');
+    $neb->create('bar');
+
+    $test->run(args => '-1');
+
+    is($? >> 8, 0, "exit code");
+    like($test->stdout, qr/^foo\nbar\n$/,   "stdout");
+    like($test->stderr, qr/^$/,             "stderr");
+}
+
+Test::Nebulous->setup;
+
+{
+    my $neb = Nebulous::Client->new(
+        proxy => $neb_url,
+    );
+    $neb->create('a/foo');
+
+    $test->run(args => '');
+
+    is($? >> 8, 0, "exit code");
+    like($test->stdout, qr||,               "stdout");
+    like($test->stderr, qr/^$/,             "stderr");
+}
+
+Test::Nebulous->setup;
+
+{
+    my $neb = Nebulous::Client->new(
+        proxy => $neb_url,
+    );
+    $neb->create('a/foo');
+
+    $test->run(args => 'a');
+
+    is($? >> 8, 0, "exit code");
+    like($test->stdout, qr|^a/foo$|,        "stdout");
+    like($test->stderr, qr/^$/,             "stderr");
+}
+
+Test::Nebulous->setup;
+
+{
+    my $neb = Nebulous::Client->new(
+        proxy => $neb_url,
+    );
+    $neb->create('a/foo');
+    $neb->create('a/bar');
+
+    $test->run(args => 'a');
+
+    is($? >> 8, 0, "exit code");
+    like($test->stdout, qr|^a/foo a/bar$|,  "stdout");
+    like($test->stderr, qr/^$/,             "stderr");
+}
+
+Test::Nebulous->setup;
+
+{
+    my $neb = Nebulous::Client->new(
+        proxy => $neb_url,
+    );
+    $neb->create('a/foo');
+    $neb->create('foo');
+
+    $test->run(args => 'a');
+
+    is($? >> 8, 0, "exit code");
+    like($test->stdout, qr|^a/foo$|,        "stdout");
+    like($test->stderr, qr/^$/,             "stderr");
+}
+
+Test::Nebulous->setup;
+
+{
+    my $neb = Nebulous::Client->new(
+        proxy => $neb_url,
+    );
+    $neb->create('a/foo');
+    $neb->create('a/b/foo');
+
+    $test->run(args => 'a');
+
+    is($? >> 8, 0, "exit code");
+    like($test->stdout, qr|^a/foo$|,        "stdout");
+    like($test->stderr, qr/^$/,             "stderr");
+}
+
+Test::Nebulous->cleanup;
 
 sub missing_args
