Exemple #1
0
        public static void test_object_promise_cancel()
        {
            Efl.Loop loop = Efl.App.AppMain;
            var      obj  = new Dummy.TestObject();

            Eina.Future future = obj.GetFuture();

            bool callbackCalled = false;

            Eina.Error receivedError = -1;
            Eina.Error sentError     = 120;
            future.Then((Eina.Value value) => {
                callbackCalled = true;
                Test.AssertEquals(value.GetValueType(), Eina.ValueType.Error);
                value.Get(out receivedError);

                return(value);
            });

            obj.RejectPromise(sentError);

            loop.Iterate();
            Test.Assert(callbackCalled, "Future callback must have been called.");
            Test.AssertEquals(receivedError, sentError);
        }
Exemple #2
0
        public static void test_object_promise()
        {
            Efl.Loop loop = Efl.App.AppMain;
            var      obj  = new Dummy.TestObject();

            Eina.Future future = obj.GetFuture();

            bool callbackCalled = false;
            int  receivedValue  = -1;
            int  sentValue      = 1984;

            future.Then((Eina.Value value) => {
                callbackCalled = true;
                Test.AssertEquals(value.GetValueType(), Eina.ValueType.Int32);
                value.Get(out receivedValue);

                return(value);
            });

            obj.FulfillPromise(sentValue);

            loop.Iterate();
            Test.Assert(callbackCalled, "Future callback must have been called.");
            Test.AssertEquals(receivedValue, sentValue);
        }