]> git.proxmox.com Git - pve-common.git/blobdiff - test/format_test.pl
cgroup: cpu quota: fix resetting period length for v1
[pve-common.git] / test / format_test.pl
index 3f225dea00c8b1b341599f005d057a606bc205de..32c00f1f5e1a05c7275d7fae2a6aaf38b8c389c4 100755 (executable)
@@ -5,6 +5,7 @@ use warnings;
 
 use lib '../src';
 use PVE::JSONSchema;
+use PVE::CLIFormatter;
 
 use Test::More;
 use Test::MockModule;
@@ -24,4 +25,32 @@ foreach my $id (@$invalid_configids) {
     is(PVE::JSONSchema::pve_verify_configid($id, $noerr), undef, 'invalid configid');
 }
 
-done_testing();
\ No newline at end of file
+# test some string rendering
+my $render_data = [
+    ["timestamp", 0, undef, "1970-01-01 01:00:00"],
+    ["timestamp", 1612776831, undef, "2021-02-08 10:33:51"],
+    ["timestamp_gmt", 0, undef, "1970-01-01 00:00:00"],
+    ["timestamp_gmt", 1612776831, undef, "2021-02-08 09:33:51"],
+    ["duration", undef, undef, "0s"],
+    ["duration", 0.3, undef, "0s"],
+    ["duration", 0, undef, "0s"],
+    ["duration", 40, undef, "40s"],
+    ["duration", 59.64432, undef, "1m"],
+    ["duration", 110, undef, "1m 50s"],
+    ["duration", 7*24*3829*2, undef, "2w 21h 22m 24s"],
+    ["fraction_as_percentage", 0.412, undef, "41.20%"],
+    ["bytes", 0, undef, "0.00 B"],
+    ["bytes", 1023, 4, "1023.0000 B"],
+    ["bytes", 1024, undef, "1.00 KiB"],
+    ["bytes", 1024*1024*123 + 1024*300, 1, "123.3 MiB"],
+    ["bytes", 1024*1024*1024*1024*4 + 1024*1024*2048*8, undef, "4.02 TiB"],
+];
+
+foreach my $data (@$render_data) {
+    my ($renderer_name, $p1, $p2, $expected) = @$data;
+    my $renderer = PVE::JSONSchema::get_renderer($renderer_name);
+    my $actual = $renderer->($p1, $p2);
+    is($actual, $expected, "string format '$renderer_name'");
+}
+
+done_testing();