--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/t/01-zone-mk.t Wed Jun 29 10:18:30 2011 +0200
@@ -0,0 +1,45 @@
+use strict;
+use warnings;
+
+use Test::More;
+use File::Temp qw(tempdir);
+use Net::LibIDN qw(:all);
+
+# make it work with older versions of Test::More
+unless (defined &done_testing) {
+sub done_testing() {};
+use Test::More qw(no_plan);
+}
+
+my $CMD = "perl -Mblib blib/sbin/zone-mk";
+
+system("$CMD -h &>/dev/null");
+is($? => 0, "exit on help");
+
+system("$CMD -m &>/dev/null");
+is($? => 0, "exit on man");
+
+system("$CMD &>/dev/null");
+ok($? > 0, "error on missing args");
+
+my $master_dir = tempdir;
+my $config_dir = tempdir;
+my $tmp = File::Temp->new;
+$ENV{DNSTOOLS_CONF} = $tmp->filename;
+
+print $tmp <<__EOF;
+master_dir = $master_dir
+zone_conf_dir = $config_dir
+hostmaster = hostmaster\@schlittermann.de
+template_dir = ./templates
+__EOF
+
+system("$CMD xxx müller.de &>/dev/null");
+is($? => 0, "created zone");
+
+my $domain = idn_to_ascii("müller.de", "UTF-8");
+ok(-s "$master_dir/$domain/$domain", "zone file $domain");
+ok(-s "$config_dir/$domain", "config file $domain");
+
+
+done_testing;