1 /*
\r * Tested interface: AtkObject
\r *
\r * Tested AtkObject: EailMapbuf
\r *
\r * Description: Test AtkObject interface
\r *
\r * Test input: accessible object representing EailMapbuf
\r *
\r * Expected test result: test should return 0 (success)
\r */
\r\r#include <Elementary.h>
\r#include <atk/atk.h>
\r\r#include "eail_test_utils.h"
\r\rINIT_TEST("EailMapbuf")
\r\rstatic void
\r_do_test(AtkObject *object)
\r{
\r int child_count = atk_object_get_n_accessible_children(object);
\r g_assert(child_count == 1);
\r atk_object_set_description(object, "test");
\r g_assert_cmpstr(atk_object_get_description(object), ==, "test");
\r\r atk_object_set_name(object, "test name");
\r g_assert_cmpstr(atk_object_get_name(object), ==, "test name");
\r\r AtkStateSet *state_set = atk_object_ref_state_set(object);
\r gboolean enabled = atk_state_set_contains_state(state_set,
\r ATK_STATE_ENABLED);
\r g_object_unref(state_set);
\r g_assert(enabled);
\r\r AtkObject *child = atk_object_ref_accessible_child(object, 0);
\r g_assert(ATK_IS_OBJECT(child));
\r child_count = atk_object_get_n_accessible_children(child);
\r for (int i = 0; i < child_count; i++)
\r {
\r AtkObject *image = atk_object_ref_accessible_child(child, i);
\r gboolean is_image = ATK_IS_IMAGE(image);
\r g_object_unref(image);
\r g_assert(is_image);
\r }
\r g_object_unref(child);
\r g_assert(child_count == 25);
\r\r eailu_test_atk_focus(object, FALSE);
\r\r eailu_test_code_called = 1;
\r}
\r\rstatic void
\r_init_mapbuf(Evas_Object *win)
\r{
\r Evas_Object *bg, *bx, *mb, *grid, *ic;
\r unsigned int i, j;
\r\r bg = elm_bg_add(win);
\r elm_win_resize_object_add(win, bg);
\r evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
\r evas_object_show(bg);
\r\r bx = elm_box_add(win);
\r evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
\r evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
\r elm_win_resize_object_add(win, bx);
\r evas_object_show(bx);
\r\r mb = elm_mapbuf_add(win);
\r evas_object_size_hint_weight_set(mb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
\r evas_object_size_hint_align_set(mb, EVAS_HINT_FILL, EVAS_HINT_FILL);
\r elm_box_pack_end(bx, mb);
\r\r grid = elm_grid_add(win);
\r elm_grid_size_set(grid, 200, 200);
\r evas_object_show(grid);
\r for (i = 0; i < 5; i++)
\r {
\r for (j = 0; j < 5; j++)
\r {
\r int w, h;
\r ic = elm_icon_add(win);
\r elm_icon_standard_set(ic, "home");
\r elm_image_resizable_set(ic, EINA_FALSE, EINA_FALSE);
\r evas_object_show(ic);
\r elm_image_object_size_get(ic, &w, &h);
\r elm_grid_pack(grid, ic, 5 + (w * i), 5 + (h * j) , w, h);
\r }
\r }
\r\r elm_object_content_set(mb, grid);
\r elm_mapbuf_enabled_set(mb, EINA_TRUE);
\r elm_mapbuf_alpha_set(mb, EINA_TRUE);
\r elm_mapbuf_smooth_set(mb, EINA_TRUE);
\r evas_object_show(mb);
\r}
\r\rEAPI_MAIN int
\relm_main(int argc, char **argv)
\r{
\r Evas_Object *win;
\r\r win = eailu_create_test_window_with_glib_init(NULL, _on_focus_in);
\r _init_mapbuf(win);
\r evas_object_resize(win, 700, 500);
\r evas_object_show(win);
\r\r elm_run();
\r elm_shutdown();
\r\r return 0;
\r}
\rELM_MAIN()
\r