summaryrefslogtreecommitdiff
path: root/src/tests/eo
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2016-07-21 13:52:16 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2016-07-21 14:03:10 +0900
commitec9107dc1f502c758777139f0d7ed59a81557f19 (patch)
treec8f2bc60bd80264089eebad67007295157827784 /src/tests/eo
parent6a559a6fff60e1bea2a9d956d12b10f53e761a2b (diff)
downloadefl-ec9107dc1f502c758777139f0d7ed59a81557f19.tar.gz
eo: Fix override test case to match new policy
The new policy is a lot more restrictive. Honestly, I don't like it.
Diffstat (limited to 'src/tests/eo')
-rw-r--r--src/tests/eo/suite/eo_test_general.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/tests/eo/suite/eo_test_general.c b/src/tests/eo/suite/eo_test_general.c
index dcbf73f3c8..de7c25883d 100644
--- a/src/tests/eo/suite/eo_test_general.c
+++ b/src/tests/eo/suite/eo_test_general.c
@@ -88,17 +88,28 @@ START_TEST(eo_override_tests)
EO_OVERRIDE_OPS_DEFINE(
overrides2,
EO_OP_FUNC_OVERRIDE(simple_a_set, _simple_obj_override_a_double_set));
+ fail_if(!eo_override(obj, NULL));
fail_if(!eo_override(obj, &overrides2));
simple_a_set(obj, OVERRIDE_A_SIMPLE);
- ck_assert_int_eq(simple_a_get(obj), OVERRIDE_A + (OVERRIDE_A_SIMPLE * 2));
+ ck_assert_int_eq(simple_a_get(obj), OVERRIDE_A_SIMPLE * 2);
+
+ /* Try overriding again - not allowed by policy */
+ fail_if(eo_override(obj, &overrides));
+ ck_assert_int_eq(simple_a_get(obj), OVERRIDE_A_SIMPLE * 2);
/* Try introducing a new function */
EO_OVERRIDE_OPS_DEFINE(
overrides3,
EO_OP_FUNC(simple2_class_beef_get, _simple_obj_override_a_double_set));
+ fail_if(!eo_override(obj, NULL));
fail_if(eo_override(obj, &overrides3));
+ /* Test override reset */
+ fail_if(!eo_override(obj, NULL));
+ simple_a_set(obj, 42 * OVERRIDE_A_SIMPLE);
+ ck_assert_int_eq(simple_a_get(obj), 42 * OVERRIDE_A_SIMPLE);
+
eo_unref(obj);
eo_shutdown();