diff options
author | Dave Davenport <qball@gmpclient.org> | 2016-10-24 17:48:04 +0200 |
---|---|---|
committer | Dave Davenport <qball@gmpclient.org> | 2016-10-24 17:48:04 +0200 |
commit | b19ab62e1796a0570e6943e04aed904970f9e6e8 (patch) | |
tree | 0762977528c66f44489567e8535298bb49352ec3 /test | |
parent | 5f1cd754923dc409e38e39ba5a9809be6e75b2c9 (diff) |
add scrollbar test.
Diffstat (limited to 'test')
-rw-r--r-- | test/scrollbar-test.c | 75 |
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 ) ); +} |