[gnome-logs/wip/test] Add test for timestamp comparison
- From: Ekaterina Gerasimova <egerasimov src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-logs/wip/test] Add test for timestamp comparison
- Date: Mon, 9 Feb 2015 14:31:05 +0000 (UTC)
commit 93cd95e2aadbc88efc109178c73b7409036d6b25
Author: Ekaterina Gerasimova <kittykat3756 gmail com>
Date: Mon Feb 9 14:30:04 2015 +0000
Add test for timestamp comparison
Makefile.am | 27 ++++++++++++++++++
tests/test-gl-util.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 102 insertions(+), 0 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 6bbeeec..ec9deda 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -112,7 +112,34 @@ test-desktop-file-validate.sh: Makefile
check_SCRIPTS = \
test-desktop-file-validate.sh
+# Tests:
+TESTS_ENVIRONMENT = \
+ LANG=C \
+ MALLOC_CHECK_=2 \
+ MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) \
+ G_SLICE=debug-blocks
+
+tests_test_gl_util_CPPFLAGS = \
+ -DLOCALEDIR=\""$(localedir)"\" \
+ -I$(top_builddir) \
+ -I$(top_builddir)/src \
+ $(WARN_CFLAGS)
+
+tests_test_gl_util_CFLAGS = \
+ $(LOGS_CFLAGS)
+
+tests_test_gl_util_LDADD = \
+ $(LOGS_LIBS)
+
+tests_test_gl_util_SOURCES = \
+ tests/test-gl-util.c \
+ src/gl-util.c
+
+check_PROGRAMS = \
+ tests/test-gl-util
+
TESTS = \
+ $(check_PROGRAMS) \
$(check_SCRIPTS)
endif
diff --git a/tests/test-gl-util.c b/tests/test-gl-util.c
new file mode 100644
index 0000000..0d687e2
--- /dev/null
+++ b/tests/test-gl-util.c
@@ -0,0 +1,75 @@
+/*
+ * GNOME Logs - View and search logs
+ * Copyright (C) 2015 Ekaterina Gerasimova
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "gl-util.h"
+
+static void
+util_timestamp_to_display (void)
+{
+ gsize i;
+ GDateTime *now;
+
+ static const struct
+ {
+ guint64 microsecs;
+ GlUtilClockFormat format;
+ const gchar time;
+ } times[] =
+ {
+ /* Test three cases for each format (same day, same year, different
+ year */
+ { G_GUINT64_CONSTANT(1423486800000000), GL_UTIL_CLOCK_FORMAT_12HR,
+ "1:00 PM" }
+ { G_GUINT64_CONSTANT(1423402200000000), GL_UTIL_CLOCK_FORMAT_12HR,
+ "Feb 8 1:30 PM" }
+ { G_GUINT64_CONSTANT(1391952600000000), GL_UTIL_CLOCK_FORMAT_12HR,
+ "Feb 9 2014 1:30 PM" }
+ { G_GUINT64_CONSTANT(1423486800000000), GL_UTIL_CLOCK_FORMAT_24HR,
+ "13:00" }
+ { G_GUINT64_CONSTANT(1423402200000000), GL_UTIL_CLOCK_FORMAT_24HR,
+ "Feb 8 13:30" }
+ { G_GUINT64_CONSTANT(1391952600000000), GL_UTIL_CLOCK_FORMAT_24HR,
+ "Feb 9 2014 13:30" }
+ }
+
+ now = g_date_time_new_utc (2015, 2, 9, 13, 30, 42)
+
+ for (i = 0; i < G_N_ELEMENTS (filenames); i++)
+ {
+ GDateTime *datetime;
+
+ datetime = g_date_time_new_from_unix_utc (times[i].microsecs / G_TIME_SPAN_SECOND);
+ compare = gl_util_timestamp_to_display (datetime, now, times[i].format)
+ g_date_time_unref (datetime)
+ g_assert_cmpstr (compare, ==, times[i].time);
+ g_free (compare)
+ }
+
+ g_date_time_unref (now)
+}
+
+int
+main (int argc, char** argv)
+{
+ g_test_init (&argc, &argv, NULL);
+
+ g_test_add_func ("/util_timestamp/to_display",
+ util_timestamp_to_display);
+
+ return g_test_run ();
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]