1 // Copyright 2014 Samsung Electronics. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "utc_blink_ewk_base.h"
7 class utc_blink_ewk_context_vibration_client_callbacks_set : public utc_blink_ewk_base
10 static void vibrateCallback(uint64_t vibration_time, void* user_data)
14 static_cast<utc_blink_ewk_context_vibration_client_callbacks_set*>(user_data)->vibrateCalled = EINA_TRUE;
17 static void cancelVibrateCallback(void* user_data)
21 static_cast<utc_blink_ewk_context_vibration_client_callbacks_set*>(user_data)->cancelCalled = EINA_TRUE;
24 static void title_changed(void* data, Evas_Object* webview, void* event)
28 static_cast<utc_blink_ewk_context_vibration_client_callbacks_set*>(data)->EventLoopStop(Success);
31 /* Startup function */
32 void PostSetUp() override {
33 vibrateCalled = EINA_FALSE;
34 cancelCalled = EINA_FALSE;
35 evas_object_smart_callback_add(GetEwkWebView(), "title,changed", title_changed, this);
38 /* Cleanup function */
39 void PreTearDown() override {
40 evas_object_smart_callback_del(GetEwkWebView(), "title,changed", title_changed);
44 static const char*const sample;
45 Eina_Bool vibrateCalled;
46 Eina_Bool cancelCalled;
49 const char*const utc_blink_ewk_context_vibration_client_callbacks_set::sample="ewk_context_vibration/vibration.html";
52 * @brief Tests if vibration callbacks are properly set
54 TEST_F(utc_blink_ewk_context_vibration_client_callbacks_set, POS_TEST)
56 ewk_context_vibration_client_callbacks_set(ewk_context_default_get(), vibrateCallback, cancelVibrateCallback, this);
58 if(!ewk_view_url_set(GetEwkWebView(), GetResourceUrl(sample).c_str()))
61 if (Success!=EventLoopStart())
64 utc_check_eq( vibrateCalled && cancelCalled, EINA_TRUE);
68 * @brief Tests if ewk_context_vibration_client_callbacks_set crashes on null arguments and set context
70 TEST_F(utc_blink_ewk_context_vibration_client_callbacks_set, NEG_TEST1)
72 ewk_context_vibration_client_callbacks_set(ewk_context_default_get(), NULL, NULL, this);
73 /* If NULL argument passing wont give segmentation fault negative test case will pass */
78 * @brief Tests if ewk_context_vibration_client_callbacks_set crashes on null arguments
80 TEST_F(utc_blink_ewk_context_vibration_client_callbacks_set, NEG_TEST2)
82 ewk_context_vibration_client_callbacks_set(NULL, NULL, NULL, this);
83 /* If NULL argument passing wont give segmentation fault negative test case will pass */