Merge "custom eail widget implementation" into tizen
[platform/core/uifw/eail.git] / tests / eail_progressbar_tc2.c
1 /*
2  * Tested interface: AtkValue
3  *
4  * Tested AtkObject: EailProgressbar
5  *
6  * Description: Test AtkValue interface
7  *
8  * Test input: accessible object representing EailProgressbar
9  *
10  * Expected test result: test should return 0 (success)
11  */
12
13 #include <Elementary.h>
14 #include <atk/atk.h>
15
16 #include "eail_test_utils.h"
17
18 INIT_TEST("EailProgressbar")
19
20 const double progressbar_min = 0.0;
21 const double progressbar_max = 1.0;
22 const double progressbar_set = 0.2;
23
24 static void
25 _do_test(AtkObject *obj)
26 {
27    double minimum, maximum, current, minimum_increment;
28    const double val_test_set = 0.47;
29
30    GValue value = G_VALUE_INIT;
31    g_value_init(&value, G_TYPE_DOUBLE);
32
33    atk_value_get_minimum_value(ATK_VALUE(obj), &value);
34    minimum = g_value_get_double(&value);
35    _printf("atk_value_get_minimum_value: %0.2f\n", minimum);
36    g_assert(float_equal(progressbar_min, minimum));
37
38    atk_value_get_maximum_value(ATK_VALUE(obj), &value);
39    maximum = g_value_get_double(&value);
40    _printf("atk_value_get_maximum_value: %0.2f\n", maximum);
41    g_assert(float_equal(progressbar_max, maximum));
42
43    atk_value_get_current_value(ATK_VALUE(obj), &value);
44    current = g_value_get_double(&value);
45    _printf("atk_value_get_current_value: %0.2f\n", current);
46    g_assert(float_equal(progressbar_set, current));
47
48    atk_value_get_minimum_increment(ATK_VALUE(obj), &value);
49    minimum_increment = g_value_get_double(&value);
50    _printf("atk_value_get_minimum_increment: %0.2f\n", minimum_increment);
51    g_assert(float_equal(G_MINDOUBLE, minimum_increment));
52
53    g_value_set_double(&value, val_test_set);
54    g_assert(atk_value_set_current_value(ATK_VALUE(obj), &value));
55    _printf("atk_value_set_current_value: %0.2f\n", val_test_set);
56
57    atk_value_get_current_value(ATK_VALUE(obj), &value);
58    current = g_value_get_double(&value);
59    _printf("atk_value_get_current_value: %0.2f\n", current);
60
61    g_assert(float_equal(val_test_set, current));
62
63    g_value_set_double(&value, minimum - 0.01);
64    g_assert(!atk_value_set_current_value(ATK_VALUE(obj), &value));
65
66    g_value_set_double(&value, maximum + 0.01);
67    g_assert(!atk_value_set_current_value(ATK_VALUE(obj), &value));
68
69    eailu_test_code_called = 1;
70 }
71
72 static void
73 _init_progressbar(Evas_Object *win)
74 {
75    Evas_Object *bg, *bx, *pb;
76
77    bg = elm_bg_add(win);
78    elm_win_resize_object_add(win, bg);
79    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
80    evas_object_show(bg);
81
82    bx = elm_box_add(win);
83    elm_win_resize_object_add(win, bx);
84    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
85    evas_object_show(bx);
86
87    pb = elm_progressbar_add(win);
88    elm_progressbar_span_size_set(pb, 260);
89    elm_progressbar_value_set(pb, progressbar_set);
90    evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
91    evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
92    elm_box_pack_end(bx, pb);
93    evas_object_show(pb);
94 }
95
96 EAPI_MAIN int
97 elm_main(int argc, char **argv)
98 {
99    Evas_Object *win;
100
101    win = eailu_create_test_window_with_glib_init(_on_done, _on_focus_in);
102    g_assert(win);
103    _init_progressbar(win);
104    evas_object_show(win);
105    elm_run();
106    elm_shutdown();
107
108    return 0;
109 }
110 ELM_MAIN()