summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Davenport <qball@gmpclient.org>2020-04-26 11:43:14 +0200
committerDave Davenport <qball@gmpclient.org>2020-04-26 11:43:14 +0200
commit9a3d4b1d2ecbc0746c49ca7d822a17e8a5c44f44 (patch)
tree122c28710cd8c426d87cecc5463d54712f6b6b28
parent09704eb49c6cc9cbd694377d00474bb67b5da059 (diff)
[Test] Fix compiler warning, theme test (bug in lexer) and more.
-rw-r--r--config/config.c2
-rw-r--r--lexer/theme-lexer.l2
-rw-r--r--lexer/theme-parser.y7
-rw-r--r--source/widgets/listview.c23
-rw-r--r--test/theme-parser-test.c85
5 files changed, 54 insertions, 65 deletions
diff --git a/config/config.c b/config/config.c
index e3cf8356..62adab5d 100644
--- a/config/config.c
+++ b/config/config.c
@@ -96,7 +96,7 @@ Settings config = {
/** Sort the displayed list */
.sort = FALSE,
/** Use levenshtein sorting when matching */
- .sorting_method = SORT_NORMAL,
+ .sorting_method = "normal",
/** Case sensitivity of the search */
.case_sensitive = FALSE,
/** Cycle through in the element list */
diff --git a/lexer/theme-lexer.l b/lexer/theme-lexer.l
index ec1ccc0b..61b099f2 100644
--- a/lexer/theme-lexer.l
+++ b/lexer/theme-lexer.l
@@ -185,7 +185,6 @@ ENV $\{[[:alnum:]]*\}
MODIFIER_ADD \+
MODIFIER_SUBTRACT -
-MODIFIER_DIVIDE \/
MODIFIER_MULTIPLY \*
/* Position */
@@ -459,7 +458,6 @@ if ( queue == NULL ){
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{MODIFIER_ADD} { return T_MODIFIER_ADD; }
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{MODIFIER_SUBTRACT} { return T_MODIFIER_SUBTRACT; }
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{MODIFIER_MULTIPLY} { return T_MODIFIER_MULTIPLY; }
-<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{MODIFIER_DIVIDE} { return T_MODIFIER_DIVIDE; }
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{CALC} { return T_CALC; }
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{ENV} {
diff --git a/lexer/theme-parser.y b/lexer/theme-parser.y
index c93e8c7f..8bc0b5fa 100644
--- a/lexer/theme-parser.y
+++ b/lexer/theme-parser.y
@@ -213,7 +213,6 @@ static ThemeColor hwb_to_rgb ( double h, double w, double b)
%token T_MODIFIER_ADD "Add ('+')"
%token T_MODIFIER_SUBTRACT "Subtract ('-')"
-%token T_MODIFIER_DIVIDE "Divide ('/')"
%token T_MODIFIER_MULTIPLY "Multiply ('*')"
%token T_CALC "calc"
@@ -649,7 +648,7 @@ t_property_distance_unit
| T_PARENT_LEFT t_property_distance_unit_math2 T_PARENT_RIGHT {
$$ = g_slice_new0(RofiDistanceUnit);
$$->distance = 0;
- $$->type = ROFI_DISTANCE_MODIFIER_NONE;
+ $$->type = ROFI_PU_PX;
$$->left = $2;
$$->right = 0;
$$->modtype = ROFI_DISTANCE_MODIFIER_GROUP;
@@ -666,7 +665,7 @@ t_property_distance_unit_math
$$->right = $3;
$$->modtype = ROFI_DISTANCE_MODIFIER_MULTIPLY;
}
-| t_property_distance_unit_math T_MODIFIER_DIVIDE t_property_distance_unit {
+| t_property_distance_unit_math T_FORWARD_SLASH t_property_distance_unit {
$$ = g_slice_new0(RofiDistanceUnit);
$$->left = $1;
$$->right = $3;
@@ -723,7 +722,7 @@ t_property_distance
}
| T_CALC T_PARENT_LEFT t_property_distance_unit_math2 T_PARENT_RIGHT t_property_line_style {
$$.base.distance = 0;
- $$.base.type = ROFI_DISTANCE_MODIFIER_NONE;
+ $$.base.type = ROFI_PU_PX;
$$.base.left = $3;
$$.base.right = NULL;
$$.base.modtype = ROFI_DISTANCE_MODIFIER_GROUP;
diff --git a/source/widgets/listview.c b/source/widgets/listview.c
index e77438c0..81f34678 100644
--- a/source/widgets/listview.c
+++ b/source/widgets/listview.c
@@ -45,13 +45,10 @@
/**
* Orientation of the listview
*/
-typedef enum
-{
/** Vertical (classical) list */
- LISTVIEW = ROFI_ORIENTATION_VERTICAL,
+#define LISTVIEW ROFI_ORIENTATION_VERTICAL
/** Horizontal list. (barview) */
- BARVIEW = ROFI_ORIENTATION_HORIZONTAL,
-} ViewType;
+#define BARVIEW ROFI_ORIENTATION_HORIZONTAL
/**
* The moving direction of the selection, this (in barview) affects the scrolling.
@@ -74,7 +71,7 @@ struct _listview
{
widget widget;
- ViewType type;
+ RofiOrientation type;
// RChanged
// Text needs to be repainted.
@@ -555,16 +552,10 @@ static void listview_resize ( widget *wid, short w, short h )
lv->max_rows = ( spacing_vert + height ) / ( lv->element_height + spacing_vert );
lv->max_elements = lv->max_rows * lv->menu_columns;
- if ( /*lv->scrollbar->widget.index ==*/ 0 ) {
- widget_move ( WIDGET ( lv->scrollbar ),
- widget_padding_get_left ( WIDGET ( lv ) ),
- widget_padding_get_top ( WIDGET ( lv ) ) );
- }
- else {
- widget_move ( WIDGET ( lv->scrollbar ),
- lv->widget.w - widget_padding_get_right ( WIDGET ( lv ) ) - widget_get_width ( WIDGET ( lv->scrollbar ) ),
- widget_padding_get_top ( WIDGET ( lv ) ) );
- }
+ widget_move ( WIDGET ( lv->scrollbar ),
+ lv->widget.w - widget_padding_get_right ( WIDGET ( lv ) ) - widget_get_width ( WIDGET ( lv->scrollbar ) ),
+ widget_padding_get_top ( WIDGET ( lv ) ) );
+
widget_resize ( WIDGET ( lv->scrollbar ), widget_get_width ( WIDGET ( lv->scrollbar ) ), height );
if ( lv->type == BARVIEW ) {
diff --git a/test/theme-parser-test.c b/test/theme-parser-test.c
index e3bb78dd..969fad03 100644
--- a/test/theme-parser-test.c
+++ b/test/theme-parser-test.c
@@ -242,8 +242,8 @@ START_TEST ( test_properties_distance_em)
RofiDistance d = (RofiDistance){ {1, ROFI_PU_PX, ROFI_DISTANCE_MODIFIER_NONE,NULL, NULL }, ROFI_HL_SOLID};
RofiPadding pi = (RofiPadding){d,d,d,d};
RofiPadding p = rofi_theme_get_padding ( &wid, "test", pi);
- ck_assert_int_eq ( p.left.distance , 10 );
- ck_assert_int_eq( p.left.type , ROFI_PU_EM );
+ ck_assert_int_eq ( p.left.base.distance , 10 );
+ ck_assert_int_eq( p.left.base.type , ROFI_PU_EM );
ck_assert_int_eq( p.left.style, ROFI_HL_SOLID);
}
@@ -258,13 +258,13 @@ START_TEST ( test_properties_distance_em_linestyle)
RofiDistance d = (RofiDistance){ {1, ROFI_PU_PX, ROFI_DISTANCE_MODIFIER_NONE,NULL, NULL }, ROFI_HL_SOLID};
RofiPadding pi = (RofiPadding){d,d,d,d};
RofiPadding p = rofi_theme_get_padding ( &wid, "sol", pi);
- ck_assert_double_eq_tol ( p.left.distance , 1.3 , REAL_COMPARE_DELTA );
- ck_assert_int_eq( p.left.type , ROFI_PU_EM );
+ ck_assert_double_eq_tol ( p.left.base.distance , 1.3 , REAL_COMPARE_DELTA );
+ ck_assert_int_eq( p.left.base.type , ROFI_PU_EM );
ck_assert_int_eq( p.left.style, ROFI_HL_SOLID);
p = rofi_theme_get_padding ( &wid, "dash", pi);
- ck_assert_double_eq_tol ( p.left.distance , 1.5 , REAL_COMPARE_DELTA );
- ck_assert_int_eq( p.left.type , ROFI_PU_EM );
+ ck_assert_double_eq_tol ( p.left.base.distance , 1.5 , REAL_COMPARE_DELTA );
+ ck_assert_int_eq( p.left.base.type , ROFI_PU_EM );
ck_assert_int_eq( p.left.style, ROFI_HL_DASH);
}
END_TEST
@@ -278,8 +278,8 @@ START_TEST ( test_properties_distance_px)
RofiDistance d = (RofiDistance){ {1, ROFI_PU_EM, ROFI_DISTANCE_MODIFIER_NONE,NULL, NULL }, ROFI_HL_DASH};
RofiPadding pi = (RofiPadding){d,d,d,d};
RofiPadding p = rofi_theme_get_padding ( &wid, "test", pi);
- ck_assert_double_eq_tol ( p.left.distance , 10.0 , REAL_COMPARE_DELTA );
- ck_assert_int_eq( p.left.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.left.base.distance , 10.0 , REAL_COMPARE_DELTA );
+ ck_assert_int_eq( p.left.base.type , ROFI_PU_PX );
ck_assert_int_eq( p.left.style, ROFI_HL_SOLID);
}
END_TEST
@@ -293,12 +293,12 @@ START_TEST ( test_properties_distance_px_linestyle)
RofiDistance d = (RofiDistance){ {1, ROFI_PU_EM, ROFI_DISTANCE_MODIFIER_NONE,NULL, NULL }, ROFI_HL_DASH};
RofiPadding pi = (RofiPadding){d,d,d,d};
RofiPadding p = rofi_theme_get_padding ( &wid, "sol", pi);
- ck_assert_double_eq_tol ( p.left.distance , 10.0 , REAL_COMPARE_DELTA );
- ck_assert_int_eq( p.left.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.left.base.distance , 10.0 , REAL_COMPARE_DELTA );
+ ck_assert_int_eq( p.left.base.type , ROFI_PU_PX );
ck_assert_int_eq( p.left.style, ROFI_HL_SOLID);
p = rofi_theme_get_padding ( &wid, "dash", pi);
- ck_assert_double_eq_tol ( p.left.distance , 14.0 , REAL_COMPARE_DELTA );
- ck_assert_int_eq( p.left.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.left.base.distance , 14.0 , REAL_COMPARE_DELTA );
+ ck_assert_int_eq( p.left.base.type , ROFI_PU_PX );
ck_assert_int_eq( p.left.style, ROFI_HL_DASH);
}
END_TEST
@@ -312,8 +312,8 @@ START_TEST ( test_properties_distance_percent)
RofiDistance d = (RofiDistance){ {1, ROFI_PU_EM, ROFI_DISTANCE_MODIFIER_NONE,NULL, NULL }, ROFI_HL_DASH};
RofiPadding pi = (RofiPadding){d,d,d,d};
RofiPadding p = rofi_theme_get_padding ( &wid, "test", pi);
- ck_assert_double_eq_tol ( p.left.distance , 10.0 , REAL_COMPARE_DELTA );
- ck_assert_int_eq( p.left.type , ROFI_PU_PERCENT);
+ ck_assert_double_eq_tol ( p.left.base.distance , 10.0 , REAL_COMPARE_DELTA );
+ ck_assert_int_eq( p.left.base.type , ROFI_PU_PERCENT);
ck_assert_int_eq( p.left.style, ROFI_HL_SOLID);
}
END_TEST
@@ -327,12 +327,12 @@ START_TEST ( test_properties_distance_percent_linestyle)
RofiDistance d = (RofiDistance){ {1, ROFI_PU_EM, ROFI_DISTANCE_MODIFIER_NONE,NULL, NULL }, ROFI_HL_DASH};
RofiPadding pi = (RofiPadding){d,d,d,d};
RofiPadding p = rofi_theme_get_padding ( &wid, "sol", pi);
- ck_assert_double_eq_tol ( p.left.distance , 10.0 , REAL_COMPARE_DELTA );
- ck_assert_int_eq( p.left.type , ROFI_PU_PERCENT);
+ ck_assert_double_eq_tol ( p.left.base.distance , 10.0 , REAL_COMPARE_DELTA );
+ ck_assert_int_eq( p.left.base.type , ROFI_PU_PERCENT);
ck_assert_int_eq( p.left.style, ROFI_HL_SOLID);
p = rofi_theme_get_padding ( &wid, "dash", pi);
- ck_assert_double_eq_tol ( p.left.distance , 10 , REAL_COMPARE_DELTA );
- ck_assert_int_eq( p.left.type , ROFI_PU_PERCENT);
+ ck_assert_double_eq_tol ( p.left.base.distance , 10 , REAL_COMPARE_DELTA );
+ ck_assert_int_eq( p.left.base.type , ROFI_PU_PERCENT);
ck_assert_int_eq( p.left.style, ROFI_HL_DASH);
}
END_TEST
@@ -642,6 +642,7 @@ START_TEST ( test_properties_color_rgba )
wid.state = NULL;
rofi_theme_parse_string ( "* { red: rgba(255,0,0,0.3); green: rgba(0,255,0,0.2); blue: rgba(0 0 255 /0.7); }");
ThemeWidget *twid = rofi_theme_find_widget ( wid.name, wid.state, FALSE );
+ ck_assert_ptr_nonnull ( twid );
Property *p = rofi_theme_find_property ( twid, P_COLOR, "red", FALSE );
ck_assert_ptr_nonnull ( p );
ck_assert_double_eq_tol ( p->value.color.alpha , 0.3 , REAL_COMPARE_DELTA );
@@ -981,14 +982,14 @@ START_TEST ( test_properties_padding_2 )
RofiDistance d = (RofiDistance){ {1, ROFI_PU_PX, ROFI_DISTANCE_MODIFIER_NONE,NULL, NULL }, ROFI_HL_SOLID};
RofiPadding pi = (RofiPadding){d,d,d,d};
RofiPadding p = rofi_theme_get_padding ( &wid, "test", pi);
- ck_assert_double_eq_tol ( p.left.distance , 20, REAL_COMPARE_DELTA );
- ck_assert_int_eq ( p.left.type , ROFI_PU_PX );
- ck_assert_double_eq_tol ( p.right.distance , 20, REAL_COMPARE_DELTA );
- ck_assert_int_eq ( p.right.type , ROFI_PU_PX );
- ck_assert_double_eq_tol ( p.top.distance , 10, REAL_COMPARE_DELTA);
- ck_assert_int_eq ( p.top.type , ROFI_PU_PX );
- ck_assert_double_eq_tol ( p.bottom.distance , 10, REAL_COMPARE_DELTA );
- ck_assert_int_eq ( p.bottom.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.left.base.distance , 20, REAL_COMPARE_DELTA );
+ ck_assert_int_eq ( p.left.base.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.right.base.distance , 20, REAL_COMPARE_DELTA );
+ ck_assert_int_eq ( p.right.base.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.top.base.distance , 10, REAL_COMPARE_DELTA);
+ ck_assert_int_eq ( p.top.base.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.bottom.base.distance , 10, REAL_COMPARE_DELTA );
+ ck_assert_int_eq ( p.bottom.base.type , ROFI_PU_PX );
}
END_TEST
@@ -1001,14 +1002,14 @@ START_TEST ( test_properties_padding_3 )
RofiDistance d = (RofiDistance){ {1, ROFI_PU_PX, ROFI_DISTANCE_MODIFIER_NONE,NULL, NULL }, ROFI_HL_SOLID};
RofiPadding pi = (RofiPadding){d,d,d,d};
RofiPadding p = rofi_theme_get_padding ( &wid, "test", pi);
- ck_assert_double_eq_tol ( p.left.distance , 30, REAL_COMPARE_DELTA);
- ck_assert_int_eq ( p.left.type , ROFI_PU_PX );
- ck_assert_double_eq_tol ( p.right.distance , 30, REAL_COMPARE_DELTA );
- ck_assert_int_eq ( p.right.type , ROFI_PU_PX );
- ck_assert_double_eq_tol ( p.top.distance , 10, REAL_COMPARE_DELTA );
- ck_assert_int_eq ( p.top.type , ROFI_PU_PX );
- ck_assert_double_eq_tol ( p.bottom.distance , 20, REAL_COMPARE_DELTA );
- ck_assert_int_eq ( p.bottom.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.left.base.distance , 30, REAL_COMPARE_DELTA);
+ ck_assert_int_eq ( p.left.base.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.right.base.distance , 30, REAL_COMPARE_DELTA );
+ ck_assert_int_eq ( p.right.base.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.top.base.distance , 10, REAL_COMPARE_DELTA );
+ ck_assert_int_eq ( p.top.base.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.bottom.base.distance , 20, REAL_COMPARE_DELTA );
+ ck_assert_int_eq ( p.bottom.base.type , ROFI_PU_PX );
}
END_TEST
@@ -1021,14 +1022,14 @@ START_TEST ( test_properties_padding_4 )
RofiDistance d = (RofiDistance){ {1, ROFI_PU_PX, ROFI_DISTANCE_MODIFIER_NONE,NULL, NULL }, ROFI_HL_SOLID};
RofiPadding pi = (RofiPadding){d,d,d,d};
RofiPadding p = rofi_theme_get_padding ( &wid, "test", pi);
- ck_assert_double_eq_tol ( p.left.distance , 40 , REAL_COMPARE_DELTA );
- ck_assert_int_eq ( p.left.type , ROFI_PU_PX );
- ck_assert_double_eq_tol ( p.right.distance , 30 , REAL_COMPARE_DELTA );
- ck_assert_int_eq ( p.right.type , ROFI_PU_PX );
- ck_assert_double_eq_tol ( p.top.distance , 10 , REAL_COMPARE_DELTA );
- ck_assert_int_eq ( p.top.type , ROFI_PU_PX );
- ck_assert_double_eq_tol ( p.bottom.distance , 20 , REAL_COMPARE_DELTA );
- ck_assert_int_eq ( p.bottom.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.left.base.distance , 40 , REAL_COMPARE_DELTA );
+ ck_assert_int_eq ( p.left.base.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.right.base.distance , 30 , REAL_COMPARE_DELTA );
+ ck_assert_int_eq ( p.right.base.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.top.base.distance , 10 , REAL_COMPARE_DELTA );
+ ck_assert_int_eq ( p.top.base.type , ROFI_PU_PX );
+ ck_assert_double_eq_tol ( p.bottom.base.distance , 20 , REAL_COMPARE_DELTA );
+ ck_assert_int_eq ( p.bottom.base.type , ROFI_PU_PX );
}
END_TEST