TestMozPromiseUtils.cpp (1618B)
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 5 * You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #include "QuotaManagerDependencyFixture.h" 8 #include "mozilla/dom/quota/MozPromiseUtils.h" 9 10 namespace mozilla::dom::quota::test { 11 12 TEST(DOM_Quota_MozPromiseUtils, BoolPromiseToBoolPromise) 13 { 14 auto value = QuotaManagerDependencyFixture::Await(Map<BoolPromise>( 15 BoolPromise::CreateAndResolve(true, __func__), 16 [](const BoolPromise::ResolveOrRejectValue& aValue) { return false; })); 17 18 ASSERT_TRUE(value.IsResolve()); 19 ASSERT_FALSE(value.ResolveValue()); 20 } 21 22 TEST(DOM_Quota_MozPromiseUtils, ExclusiveBoolPromiseToBoolPromise) 23 { 24 auto value = QuotaManagerDependencyFixture::Await( 25 Map<BoolPromise>(ExclusiveBoolPromise::CreateAndResolve(true, __func__), 26 [](ExclusiveBoolPromise::ResolveOrRejectValue&& aValue) { 27 return false; 28 })); 29 30 ASSERT_TRUE(value.IsResolve()); 31 ASSERT_FALSE(value.ResolveValue()); 32 } 33 34 TEST(DOM_Quota_MozPromiseUtils, BoolPromiseToExclusiveBoolPromise) 35 { 36 auto value = QuotaManagerDependencyFixture::Await(Map<ExclusiveBoolPromise>( 37 BoolPromise::CreateAndResolve(true, __func__), 38 [](const BoolPromise::ResolveOrRejectValue& aValue) { return false; })); 39 40 ASSERT_TRUE(value.IsResolve()); 41 ASSERT_FALSE(value.ResolveValue()); 42 } 43 44 } // namespace mozilla::dom::quota::test