Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1478)

Unified Diff: third_party/WebKit/Source/core/dom/custom/CustomElementReactionQueueTest.cpp

Issue 2027513002: Add a stack of queues of elements with reaction queues. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ce-element-queue
Patch Set: Rebase. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/dom/custom/CustomElementReactionQueueTest.cpp
diff --git a/third_party/WebKit/Source/core/dom/custom/CustomElementReactionQueueTest.cpp b/third_party/WebKit/Source/core/dom/custom/CustomElementReactionQueueTest.cpp
index 41ee46d2818b42d7c9ee9c2da08546fea616765a..ad2399b697cddf46237bc238eb826417deb1cbb1 100644
--- a/third_party/WebKit/Source/core/dom/custom/CustomElementReactionQueueTest.cpp
+++ b/third_party/WebKit/Source/core/dom/custom/CustomElementReactionQueueTest.cpp
@@ -5,98 +5,13 @@
#include "core/dom/custom/CustomElementReactionQueue.h"
#include "core/dom/custom/CustomElementReaction.h"
+#include "core/dom/custom/CustomElementReactionTestHelpers.h"
#include "testing/gtest/include/gtest/gtest.h"
-#include "wtf/text/AtomicString.h"
#include <initializer_list>
#include <vector>
namespace blink {
-class Command : public GarbageCollectedFinalized<Command> {
- WTF_MAKE_NONCOPYABLE(Command);
-public:
- Command() { }
- virtual ~Command() { }
- DEFINE_INLINE_VIRTUAL_TRACE() { }
- virtual void run(Element*) = 0;
-};
-
-class Log : public Command {
- WTF_MAKE_NONCOPYABLE(Log);
-public:
- Log(char what, std::vector<char>& where) : m_what(what), m_where(where) { }
- virtual ~Log() { }
- void run(Element*) override { m_where.push_back(m_what); }
-private:
- char m_what;
- std::vector<char>& m_where;
-};
-
-class Recurse : public Command {
- WTF_MAKE_NONCOPYABLE(Recurse);
-public:
- Recurse(CustomElementReactionQueue* queue) : m_queue(queue) { }
- virtual ~Recurse() { }
- DEFINE_INLINE_VIRTUAL_TRACE()
- {
- Command::trace(visitor);
- visitor->trace(m_queue);
- }
- void run(Element* element) override { m_queue->invokeReactions(element); }
-private:
- Member<CustomElementReactionQueue> m_queue;
-};
-
-class Enqueue : public Command {
- WTF_MAKE_NONCOPYABLE(Enqueue);
-public:
- Enqueue(CustomElementReactionQueue* queue, CustomElementReaction* reaction)
- : m_queue(queue)
- , m_reaction(reaction)
- {
- }
- virtual ~Enqueue() { }
- DEFINE_INLINE_VIRTUAL_TRACE()
- {
- Command::trace(visitor);
- visitor->trace(m_queue);
- visitor->trace(m_reaction);
- }
- void run(Element*) override
- {
- m_queue->add(m_reaction);
- }
-private:
- Member<CustomElementReactionQueue> m_queue;
- Member<CustomElementReaction> m_reaction;
-};
-
-class TestReaction : public CustomElementReaction {
- WTF_MAKE_NONCOPYABLE(TestReaction);
-public:
- TestReaction(std::initializer_list<Command*> commands)
- {
- // TODO(dominicc): Simply pass the initializer list when
- // HeapVector supports initializer lists like Vector.
- for (auto& command : commands)
- m_commands.append(command);
- }
- virtual ~TestReaction() = default;
- DEFINE_INLINE_VIRTUAL_TRACE()
- {
- CustomElementReaction::trace(visitor);
- visitor->trace(m_commands);
- }
- void invoke(Element* element) override
- {
- for (auto& command : m_commands)
- command->run(element);
- }
-
-private:
- HeapVector<Member<Command>> m_commands;
-};
-
TEST(CustomElementReactionQueueTest, invokeReactions_one)
{
std::vector<char> log;

Powered by Google App Engine
This is Rietveld 408576698