diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/mediastream/stream_test_utils.h')
-rw-r--r-- | chromium/third_party/blink/renderer/modules/mediastream/stream_test_utils.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/modules/mediastream/stream_test_utils.h b/chromium/third_party/blink/renderer/modules/mediastream/stream_test_utils.h new file mode 100644 index 00000000000..060d3539ac6 --- /dev/null +++ b/chromium/third_party/blink/renderer/modules/mediastream/stream_test_utils.h @@ -0,0 +1,49 @@ +// Copyright 2021 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASTREAM_STREAM_TEST_UTILS_H_ +#define THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASTREAM_STREAM_TEST_UTILS_H_ + +#include "third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h" +#include "third_party/blink/renderer/bindings/core/v8/script_promise_tester.h" +#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_testing.h" +#include "third_party/blink/renderer/bindings/core/v8/v8_iterator_result_value.h" +#include "third_party/blink/renderer/core/streams/readable_stream_default_reader.h" +#include "third_party/blink/renderer/platform/bindings/exception_state.h" + +namespace blink { + +class ExecutionContext; +class MediaStreamTrack; +class MediaStreamVideoSource; +class MockMediaStreamVideoSource; + +template <typename T> +T* ReadObjectFromStream(const V8TestingScope& v8_scope, + ReadableStreamDefaultReader* reader) { + ScriptState* script_state = v8_scope.GetScriptState(); + ScriptPromiseTester read_tester( + script_state, reader->read(script_state, ASSERT_NO_EXCEPTION)); + read_tester.WaitUntilSettled(); + EXPECT_TRUE(read_tester.IsFulfilled()); + + v8::Local<v8::Value> result = read_tester.Value().V8Value(); + EXPECT_TRUE(result->IsObject()); + v8::Local<v8::Value> v8_signal; + bool done = false; + EXPECT_TRUE( + V8UnpackIteratorResult(script_state, result.As<v8::Object>(), &done) + .ToLocal(&v8_signal)); + EXPECT_FALSE(done); + return NativeValueTraits<T>::NativeValue(v8_scope.GetIsolate(), v8_signal, + ASSERT_NO_EXCEPTION); +} + +MockMediaStreamVideoSource* CreateMockVideoSource(); +MediaStreamTrack* CreateVideoMediaStreamTrack(ExecutionContext*, + MediaStreamVideoSource*); + +} // namespace blink + +#endif // THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASTREAM_STREAM_TEST_UTILS_H_ |