chromium/third_party/blink/renderer/modules/broadcastchannel/broadcast_channel_unittest.cc

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/renderer/modules/broadcastchannel/broadcast_channel.h"

#include <iterator>

#include "base/run_loop.h"
#include "base/task/sequenced_task_runner.h"
#include "base/test/bind.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/dom/events/native_event_listener.h"
#include "third_party/blink/renderer/core/event_type_names.h"
#include "third_party/blink/renderer/core/events/message_event.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/messaging/blink_cloneable_message.h"
#include "third_party/blink/renderer/core/testing/dummy_page_holder.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/mojo/heap_mojo_associated_receiver.h"
#include "third_party/blink/renderer/platform/mojo/heap_mojo_associated_remote.h"
#include "third_party/blink/renderer/platform/testing/task_environment.h"
#include "v8/include/v8.h"

namespace blink {

class BroadcastChannelTester : public GarbageCollected<BroadcastChannelTester>,
                               public mojom::blink::BroadcastChannelClient {};

namespace {

BlinkCloneableMessage MakeNullMessage() {}

TEST(BroadcastChannelTest, DispatchMessageEvent) {}

TEST(BroadcastChannelTest, AgentClusterLockedMatch) {}

TEST(BroadcastChannelTest, AgentClusterLockedMismatch) {}

TEST(BroadcastChannelTest, MessageCannotDeserialize) {}

TEST(BroadcastChannelTest, OutgoingMessagesMarkedWithAgentClusterId) {}

// TODO(crbug.com/1413818): iOS doesn't support WebAssembly yet.
#if BUILDFLAG(IS_IOS)
#define MAYBE_OutgoingAgentClusterLockedMessage
#else
#define MAYBE_OutgoingAgentClusterLockedMessage
#endif

TEST(BroadcastChannelTest, MAYBE_OutgoingAgentClusterLockedMessage) {}

}  // namespace
}  // namespace blink