#include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/bindings/core/v8/idl_types.h"
#include "third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h"
#include "third_party/blink/renderer/bindings/core/v8/script_function.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
#include "third_party/blink/renderer/bindings/core/v8/to_v8_traits.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_testing.h"
#include "third_party/blink/renderer/core/dom/dom_exception.h"
#include "third_party/blink/renderer/core/testing/null_execution_context.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/testing/task_environment.h"
#include "v8/include/v8.h"
namespace blink {
namespace {
template <typename T, typename... Args>
ScriptFunction* CreateFunction(ScriptState* script_state, Args&&... args) { … }
class FunctionForScriptPromiseTest : public ScriptFunction::Callable { … };
class ThrowingCallable : public ScriptFunction::Callable { … };
class NotReached : public ScriptFunction::Callable { … };
class ScriptValueHolder final : public GarbageCollected<ScriptValueHolder> { … };
class CapturingCallable final : public ScriptFunction::Callable { … };
String ToString(v8::Local<v8::Context> context, const ScriptValue& value) { … }
Vector<String> ToStringArray(v8::Isolate* isolate, const ScriptValue& value) { … }
TEST(ScriptPromiseTest, ThenResolve) { … }
TEST(ScriptPromiseTest, ThenResolveScriptFunction) { … }
TEST(ScriptPromiseTest, ResolveThen) { … }
TEST(ScriptPromiseTest, ResolveThenScriptFunction) { … }
TEST(ScriptPromiseTest, ThenReject) { … }
TEST(ScriptPromiseTest, ThenRejectScriptFunction) { … }
TEST(ScriptPromiseTest, ThrowingOnFulfilled) { … }
TEST(ScriptPromiseTest, ThrowingOnFulfilledScriptFunction) { … }
TEST(ScriptPromiseTest, ThrowingOnRejected) { … }
TEST(ScriptPromiseTest, ThrowingOnRejectedScriptFunction) { … }
TEST(ScriptPromiseTest, RejectThen) { … }
TEST(ScriptPromiseTest, RejectThenScriptFunction) { … }
TEST(ScriptPromiseTest, CastPromise) { … }
TEST(ScriptPromiseTest, CastNonPromise) { … }
TEST(ScriptPromiseTest, Reject) { … }
TEST(ScriptPromiseTest, RejectWithExceptionState) { … }
TEST(ScriptPromiseTest, AllWithEmptyPromises) { … }
TEST(ScriptPromiseTest, AllWithResolvedPromises) { … }
TEST(ScriptPromiseTest, AllWithRejectedPromise) { … }
}
}