forked from enlightenment/efl
eina: add test for eina_future_all_iterator.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D11181
This commit is contained in:
parent
373f2ad797
commit
c7508d3d52
|
@ -775,6 +775,34 @@ EFL_START_TEST(efl_test_promise_future_all)
|
||||||
}
|
}
|
||||||
EFL_END_TEST
|
EFL_END_TEST
|
||||||
|
|
||||||
|
EFL_START_TEST(efl_test_promise_future_all_iterator)
|
||||||
|
{
|
||||||
|
Eina_Future *futures[11];
|
||||||
|
Eina_Iterator *it;
|
||||||
|
unsigned int i, futures_called = 0, len = EINA_C_ARRAY_LENGTH(futures);
|
||||||
|
|
||||||
|
fail_if(!ecore_init());
|
||||||
|
for (i = 0; i < len; i++)
|
||||||
|
{
|
||||||
|
Eina_Future *f;
|
||||||
|
if (i % 2 == 0)
|
||||||
|
f = _str_future_get();
|
||||||
|
else
|
||||||
|
f = _int_future_get();
|
||||||
|
fail_if(!f);
|
||||||
|
futures[i] = eina_future_then(f, _future_all_count, &futures_called);
|
||||||
|
fail_if(!futures[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
it = EINA_C_ARRAY_ITERATOR_NEW(futures);
|
||||||
|
fail_if(!eina_future_then(eina_future_all_iterator(it), _all_cb, &len));
|
||||||
|
|
||||||
|
ecore_main_loop_begin();
|
||||||
|
ecore_shutdown();
|
||||||
|
fail_if(futures_called != len);
|
||||||
|
}
|
||||||
|
EFL_END_TEST
|
||||||
|
|
||||||
EFL_START_TEST(efl_test_promise_future_race)
|
EFL_START_TEST(efl_test_promise_future_race)
|
||||||
{
|
{
|
||||||
Race_Ctx ctx = { 0 };
|
Race_Ctx ctx = { 0 };
|
||||||
|
@ -1446,6 +1474,7 @@ void efl_app_test_promise(TCase *tc)
|
||||||
tcase_add_test(tc, efl_test_promise_future_convert);
|
tcase_add_test(tc, efl_test_promise_future_convert);
|
||||||
tcase_add_test(tc, efl_test_promise_future_easy);
|
tcase_add_test(tc, efl_test_promise_future_easy);
|
||||||
tcase_add_test(tc, efl_test_promise_future_all);
|
tcase_add_test(tc, efl_test_promise_future_all);
|
||||||
|
tcase_add_test(tc, efl_test_promise_future_all_iterator);
|
||||||
tcase_add_test(tc, efl_test_promise_future_race);
|
tcase_add_test(tc, efl_test_promise_future_race);
|
||||||
tcase_add_test(tc, efl_test_promise_future_ignore_error);
|
tcase_add_test(tc, efl_test_promise_future_ignore_error);
|
||||||
tcase_add_test(tc, efl_test_promise_future_success);
|
tcase_add_test(tc, efl_test_promise_future_success);
|
||||||
|
|
Loading…
Reference in New Issue