-my $hash = $obj->read('apples.pl');
-ok($hash);
-ok($hash->{quantity});
-
-$hash = $obj->read('apples.pl');
-ok($hash);
-ok($hash->{quantity});
-
-
-local $CGI::Ex::Conf::DIRECTIVE = 'FIRST';
-$hash = $obj->read('apples.pl');
-ok($hash);
-ok($hash->{quantity} == 20);
-ok($hash->{foo} eq 'file1');
-
-local $CGI::Ex::Conf::DIRECTIVE = 'LAST';
-$hash = $obj->read('apples.pl');
-ok($hash);
-ok($hash->{quantity} == 30);
-ok($hash->{foo} eq 'file2');
-
-$hash = $obj->read('apples.pl', {directive => 'MERGE'});
-ok($hash);
-ok($hash->{quantity} == 30);
-ok($hash->{foo} eq 'file1'); # has immutable value
-
-
-local $obj->{directive} = 'FIRST';
-$hash = $obj->read('oranges.pl');
-ok($hash);
-ok($hash->{quantity} == 20);
-ok($hash->{foo} eq 'file1');
-
-local $obj->{directive} = 'LAST';
-$hash = $obj->read('oranges.pl');
-ok($hash);
-ok($hash->{quantity} == 30);
-ok($hash->{foo} eq 'file2');
-
-local $obj->{directive} = 'MERGE';
-$hash = $obj->read('oranges.pl');
-ok($hash);
-ok($hash->{quantity} == 20); # has immutable key so all values are immutable
-ok($hash->{foo} eq 'file1'); # has immutable key so all values are immutable
-
-
+### TODO - re-enable more fileside tests
+
+if (eval { require JSON }) {
+ ok(eval { CGI::Ex::Conf::conf_write($file, {foo => "bar"}, {file_type => 'json'}) }, "Could JSON write") || diag($@);
+ my $ref = eval { CGI::Ex::Conf::conf_read($file, {file_type => 'json'}) };
+ is(eval { $ref->{'foo'} }, 'bar', "Could JSON read");
+} else {
+ SKIP: {
+ skip("Can't test read/write of json", 2);
+ };
+}
+
+if (eval { require YAML }) {
+ ok(eval { CGI::Ex::Conf::conf_write($file, {foo => "bar2"}, {file_type => 'yaml'}) }, "Could YAML write") || diag($@);
+ my $ref = eval { CGI::Ex::Conf::conf_read($file, {file_type => 'yaml'}) };
+ is(eval { $ref->{'foo'} }, 'bar2', "Could YAML read");
+} else {
+ SKIP: {
+ skip("Can't test read/write of yaml", 2);
+ };
+}
+
+if (eval { require Data::Dumper }) {
+ ok(eval { CGI::Ex::Conf::conf_write($file, {foo => "bar2"}, {file_type => 'pl'}) }, "Could Perl write") || diag($@);
+ my $ref = eval { CGI::Ex::Conf::conf_read($file, {file_type => 'pl'}) };
+ is(eval { $ref->{'foo'} }, 'bar2', "Could perl read");
+} else {
+ SKIP: {
+ skip("Can't test read/write of pl", 2);
+ };
+}