Add some tests which were sleeping here
authorRicardo Mones <ricardo@mones.org>
Sun, 23 Dec 2018 10:23:23 +0000 (11:23 +0100)
committerRicardo Mones <ricardo@mones.org>
Sun, 23 Dec 2018 10:23:23 +0000 (11:23 +0100)
t/get_app_icons.t [new file with mode: 0644]
t/get_claws_version.t [new file with mode: 0644]
t/str_rgba.t [new file with mode: 0644]
t/version_greater_or_equal.t [new file with mode: 0644]

diff --git a/t/get_app_icons.t b/t/get_app_icons.t
new file mode 100644 (file)
index 0000000..620c394
--- /dev/null
@@ -0,0 +1,17 @@
+use 5.010_000;
+use strict;
+use utf8;
+use Test::More tests => 4;
+
+require_ok ('Clawsker');
+
+use Clawsker;
+
+ok ( defined &Clawsker::get_app_icons, 'has function' );
+
+my $icons = Clawsker::get_app_icons;
+
+ok ( 'ARRAY' eq ref ($icons), 'returns an array ref' );
+
+ok ( 3 == @$icons, 'contains 3 elements' );
+
diff --git a/t/get_claws_version.t b/t/get_claws_version.t
new file mode 100644 (file)
index 0000000..93d835e
--- /dev/null
@@ -0,0 +1,52 @@
+use 5.010_000;
+use strict;
+use utf8;
+use File::Temp qw(tempdir);
+use Test::More tests => 4;
+
+require_ok ('Clawsker');
+
+my ($tempdir1, $claws1, $tempdir2, $claws2);
+
+BEGIN {
+    $tempdir1 = tempdir ();
+    $tempdir2 = "$tempdir1/with space";
+    $claws1 = "$tempdir1/claws-mail";
+    $claws2 = "$tempdir2/claws-mail";
+    qx {
+        echo '#!/bin/sh' > $claws1
+        echo 'test "\$1" = '-v' && echo "Claws Mail version 3.2.1"' >> $claws1
+        chmod +x $claws1
+        mkdir "$tempdir2"
+        cp -p "$claws1" "$claws2"
+    };
+};
+
+END {
+    qx {
+        rm -rf $tempdir1
+    };
+};
+
+local %ENV;
+$ENV{'PATH'} = $tempdir1;
+
+use Clawsker;
+
+ok (
+    defined &Clawsker::get_claws_version,
+    'has function'
+);
+
+ok (
+    '3.2.1.0' eq Clawsker::get_claws_version(),
+    'version ok 1'
+);
+
+$ENV{'PATH'} = $tempdir2;
+
+ok (
+    '3.2.1.0' eq Clawsker::get_claws_version(),
+    'version ok 2'
+);
+
diff --git a/t/str_rgba.t b/t/str_rgba.t
new file mode 100644 (file)
index 0000000..6d1cef6
--- /dev/null
@@ -0,0 +1,35 @@
+use 5.010_000;
+use strict;
+use utf8;
+use Test::More tests => 6;
+
+require_ok ('Clawsker');
+
+use Clawsker;
+
+ok (
+    defined &Clawsker::gdk_rgba_from_str,
+    'has gdk_rgba_from_str function'
+);
+
+ok (
+    defined &Clawsker::str_from_gdk_rgba,
+    'has str_from_gdk_rgba function'
+);
+
+
+ok (
+    '#123456' eq Clawsker::str_from_gdk_rgba(Clawsker::gdk_rgba_from_str('#123456')),
+    'complementarity'
+);
+
+ok (
+    '#000000' eq Clawsker::str_from_gdk_rgba(Clawsker::gdk_rgba_from_str('#000000')),
+    'complementarity black'
+);
+
+ok (
+    '#ffffff' eq Clawsker::str_from_gdk_rgba(Clawsker::gdk_rgba_from_str('#ffffff')),
+    'complementarity white'
+);
+
diff --git a/t/version_greater_or_equal.t b/t/version_greater_or_equal.t
new file mode 100644 (file)
index 0000000..0f169a7
--- /dev/null
@@ -0,0 +1,45 @@
+use 5.010_000;
+use strict;
+use utf8;
+use Glib qw(TRUE FALSE);
+use Test::More tests => 8;
+
+require_ok ('Clawsker');
+
+use Clawsker;
+
+ok (
+    defined &Clawsker::version_greater_or_equal,
+    'has the function'
+);
+
+ok (
+    TRUE == Clawsker::version_greater_or_equal ('', ''),
+    'empty is equal to empty reference version'
+);
+
+ok (
+    FALSE == Clawsker::version_greater_or_equal ('1', ''),
+    'everything is lower than empty referece version (show it all)'
+);
+
+ok (
+    TRUE == Clawsker::version_greater_or_equal ('', '1'),
+    'empty is greater than reference version 1 (show unversioned)'
+);
+
+ok (
+    TRUE == Clawsker::version_greater_or_equal ('1', '1'),
+    '1 is equal to reference version 1'
+);
+
+ok (
+    TRUE == Clawsker::version_greater_or_equal ('2', '1'),
+    '2 is greater than reference version 1'
+);
+
+ok (
+    FALSE == Clawsker::version_greater_or_equal ('0.9.99', '1'),
+    '0.9.99 is not greater than reference version 1'
+);
+