Index: trunk/Nebulous-Server/t/14_server_xattr.t
===================================================================
--- trunk/Nebulous-Server/t/14_server_xattr.t	(revision 17694)
+++ trunk/Nebulous-Server/t/14_server_xattr.t	(revision 17697)
@@ -3,10 +3,10 @@
 # Copryight (C) 2007  Joshua Hoblitt
 #
-# $Id: 14_server_xattr.t,v 1.6 2008-05-10 01:15:13 jhoblitt Exp $
+# $Id: 14_server_xattr.t,v 1.7 2008-05-15 03:28:05 jhoblitt Exp $
 
 use strict;
 use warnings FATAL => qw( all );
 
-use Test::More tests => 32;
+use Test::More tests => 36;
 
 use lib qw( ./t ./lib );
@@ -106,4 +106,16 @@
 
 eval {
+    $neb->setxattr_object('foo', 'bar', 'baz', 'create');
+};
+like($@, qr/is valid object key/, "create xattr on non-existant key");
+
+eval {
+    $neb->setxattr_object('foo', 'bar', 'baz', 'replace');
+};
+like($@, qr/is valid object key/, "replace xattr on non-existant key");
+
+Test::Nebulous->setup;
+
+eval {
     $neb->setxattr_object();
 };
@@ -137,4 +149,47 @@
 like($@, qr/4 were expected/, "too many params");
 
+# getxattr_object
+
+Test::Nebulous->setup;
+
+eval {
+    $neb->getxattr_object('foo', 'bar');
+};
+like($@, qr/is valid object key/, "get xattr from non-existant nebulous key");
+
+Test::Nebulous->setup;
+
+eval {
+    $neb->create_object('foo');
+    $neb->getxattr_object('foo', 'bar');
+};
+like($@, qr/xattr foo:bar does not exist/,
+    "get xattr from non-existant xattr key");
+
+Test::Nebulous->setup;
+
+eval {
+    $neb->getxattr_object();
+};
+like($@, qr/2 were expected/, "no params");
+
+Test::Nebulous->setup;
+
+eval {
+    $neb->create_object('foo');
+
+    $neb->getxattr_object('foo');
+};
+like($@, qr/2 were expected/, "too few params");
+
+Test::Nebulous->setup;
+
+eval {
+    $neb->create_object('foo');
+
+    $neb->getxattr_object('foo', 'bar', 'baz');
+};
+like($@, qr/2 were expected/, "too many params");
+
 # listxattr_object
 
@@ -157,30 +212,3 @@
 like($@, qr/1 was expected/, "too many params");
 
-# getxattr_object
-
-Test::Nebulous->setup;
-
-eval {
-    $neb->getxattr_object();
-};
-like($@, qr/2 were expected/, "no params");
-
-Test::Nebulous->setup;
-
-eval {
-    $neb->create_object('foo');
-
-    $neb->getxattr_object('foo');
-};
-like($@, qr/2 were expected/, "too few params");
-
-Test::Nebulous->setup;
-
-eval {
-    $neb->create_object('foo');
-
-    $neb->getxattr_object('foo', 'bar', 'baz');
-};
-like($@, qr/2 were expected/, "too many params");
-
 Test::Nebulous->cleanup;
