summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDave Davenport <qball@gmpclient.org>2017-04-04 08:56:19 +0200
committerDave Davenport <qball@gmpclient.org>2017-04-04 08:56:19 +0200
commitabaae5f403e480b810bf5d6b1c231e9946e4ef64 (patch)
treea74ee9dff0e81f0e11c82e1e6d731396830e5dae /test
parentb8dff89b87860b121fe696e006990a2a773c6108 (diff)
Add (initial) check for theme parser.
Diffstat (limited to 'test')
-rw-r--r--test/theme-parser-test.c94
1 files changed, 94 insertions, 0 deletions
diff --git a/test/theme-parser-test.c b/test/theme-parser-test.c
new file mode 100644
index 00000000..c24be8b2
--- /dev/null
+++ b/test/theme-parser-test.c
@@ -0,0 +1,94 @@
+#include <assert.h>
+#include <locale.h>
+#include <glib.h>
+#include <stdio.h>
+#include <helper.h>
+#include <string.h>
+#include <xcb/xcb_ewmh.h>
+#include "xcb-internal.h"
+#include "rofi.h"
+#include "settings.h"
+#include "theme.h"
+
+static int test = 0;
+struct xcb_stuff *xcb;
+
+#define TASSERT( a ) { \
+ assert ( a ); \
+ printf ( "Test %i passed (%s)\n", ++test, # a ); \
+}
+#define TASSERTE( a, b ) { \
+ if ( ( a ) == ( b ) ) { \
+ printf ( "Test %i passed (%s == %s) (%u == %u)\n", ++test, # a, # b, a, b ); \
+ }else { \
+ printf ( "Test %i failed (%s == %s) (%u != %u)\n", ++test, # a, # b, a, b ); \
+ abort ( ); \
+ } \
+}
+gboolean error = FALSE;
+void rofi_add_error_message ( GString *msg )
+{
+
+ error = TRUE;
+ g_string_free ( msg, TRUE );
+}
+
+int rofi_view_error_dialog ( const char *msg, G_GNUC_UNUSED int markup )
+{
+ fputs ( msg, stderr );
+ return TRUE;
+}
+
+int show_error_message ( const char *msg, int markup )
+{
+ rofi_view_error_dialog ( msg, markup );
+ return 0;
+}
+void rofi_view_get_current_monitor ( int *width, int *height )
+{
+ if ( width ) {
+ *width = 1920;
+ }
+ if ( height ) {
+ *height = 1080;
+ }
+}
+double textbox_get_estimated_char_height ( void )
+{
+ return 16.0;
+}
+xcb_screen_t *xcb_screen;
+xcb_ewmh_connection_t xcb_ewmh;
+int xcb_screen_nbr;
+#include <x11-helper.h>
+
+int main ( int argc, char ** argv )
+{
+ cmd_set_arguments ( argc, argv );
+
+ if ( setlocale ( LC_ALL, "" ) == NULL ) {
+ fprintf ( stderr, "Failed to set locale.\n" );
+ return EXIT_FAILURE;
+ }
+ // EMPTY string.
+ rofi_theme_parse_string ( "");
+ TASSERT ( rofi_theme != NULL );
+ rofi_theme_free ( rofi_theme );
+ rofi_theme = NULL;
+ // EMPTY global.
+ rofi_theme_parse_string ( " *{} ");
+ TASSERT ( rofi_theme != NULL );
+ rofi_theme_free ( rofi_theme );
+ rofi_theme = NULL;
+ // EMPTY section.
+ rofi_theme_parse_string ( " #{} ");
+ TASSERT ( rofi_theme != NULL );
+ rofi_theme_free ( rofi_theme );
+ rofi_theme = NULL;
+ rofi_theme_parse_string ( " Blaat ");
+ TASSERT ( rofi_theme != NULL );
+ TASSERT ( error == TRUE );
+ rofi_theme_free ( rofi_theme );
+ rofi_theme = NULL;
+ error = FALSE;
+}