summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDave Davenport <qball@gmpclient.org>2016-10-24 17:48:04 +0200
committerDave Davenport <qball@gmpclient.org>2016-10-24 17:48:04 +0200
commitb19ab62e1796a0570e6943e04aed904970f9e6e8 (patch)
tree0762977528c66f44489567e8535298bb49352ec3 /test
parent5f1cd754923dc409e38e39ba5a9809be6e75b2c9 (diff)
add scrollbar test.
Diffstat (limited to 'test')
-rw-r--r--test/scrollbar-test.c75
1 files changed, 75 insertions, 0 deletions
diff --git a/test/scrollbar-test.c b/test/scrollbar-test.c
new file mode 100644
index 00000000..9511de63
--- /dev/null
+++ b/test/scrollbar-test.c
@@ -0,0 +1,75 @@
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <assert.h>
+#include <glib.h>
+#include <string.h>
+#include <widgets/scrollbar.h>
+#include <widgets/widget.h>
+#include <widgets/widget-internal.h>
+unsigned int test =0;
+#define TASSERT( a ) { \
+ assert ( a ); \
+ printf ( "Test %3i 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 ( ); \
+ } \
+}
+
+void color_separator ( G_GNUC_UNUSED void *d )
+{
+
+}
+
+int main ( G_GNUC_UNUSED int argc, G_GNUC_UNUSED char **argv )
+{
+ scrollbar * sb = scrollbar_create ( 0, 0, 10, 100);
+
+ scrollbar_set_handle ( NULL, 10213);
+ scrollbar_set_max_value ( NULL, 10 );
+ scrollbar_set_handle_length ( NULL , 1000);
+
+ scrollbar_set_max_value ( sb, 10000);
+ TASSERTE ( sb->length, 10000 );
+ scrollbar_set_handle_length ( sb, 10);
+ TASSERTE ( sb->pos_length, 10 );
+ scrollbar_set_handle ( sb , 5000 );
+ TASSERTE ( sb->pos, 5000 );
+ scrollbar_set_handle ( sb , 15000 );
+ TASSERTE ( sb->pos, 10000 );
+ scrollbar_set_handle ( sb , UINT32_MAX );
+ TASSERTE ( sb->pos, 10000 );
+ scrollbar_set_handle_length ( sb, 15000);
+ TASSERTE ( sb->pos_length, 10000 );
+ scrollbar_set_handle_length ( sb, 0);
+ TASSERTE ( sb->pos_length, 1 );
+
+ unsigned int cl = scrollbar_clicked ( sb, 10 );
+ TASSERTE ( cl, 1000);
+ cl = scrollbar_clicked ( sb, 20 );
+ TASSERTE ( cl, 2000);
+ cl = scrollbar_clicked ( sb, 0 );
+ TASSERTE ( cl, 0);
+ cl = scrollbar_clicked ( sb, 99 );
+ TASSERTE ( cl, 9900);
+
+ scrollbar_set_max_value ( sb, 100 );
+ for ( unsigned int i = 0; i < 100; i++ ){
+ cl = scrollbar_clicked ( sb, i );
+ TASSERTE ( cl, i);
+ }
+
+ scrollbar_set_max_value ( sb, 200 );
+ for ( unsigned int i = 0; i < 100; i++ ){
+ cl = scrollbar_clicked ( sb, i );
+ TASSERTE ( cl, i*2);
+ }
+ widget_free( WIDGET (sb ) );
+}