summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/mediastream/stream_test_utils.h
diff options
context:
space:
mode:
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.h49
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_