]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.cpp
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / replay / scripts / tests / expected / generate-input-with-vector-members.json-TestReplayInputs.cpp
index 02bb56b525c446b0db1138bde7d5f2dc5cf962ba..f2f962a193b8c9ac00ed1b068501fb8beb486716 100644 (file)
@@ -48,12 +48,22 @@ ArrayOfThings::ArrayOfThings(Vector<double>& doubles, Vector<JSThing>& jsthings,
 ArrayOfThings::~ArrayOfThings()
 {
 }
+
+SavedHistory::SavedHistory(Vector<RefPtr<HistoryItem>>& entries)
+    : NondeterministicInput<SavedHistory>()
+    , m_entries(entries)
+{
+}
+
+SavedHistory::~SavedHistory()
+{
+}
 } // namespace Test
 
 namespace JSC {
-const AtomicString& InputTraits<Test::ArrayOfThings>::type()
+const String& InputTraits<Test::ArrayOfThings>::type()
 {
-    static NeverDestroyed<const AtomicString> type("ArrayOfThings", AtomicString::ConstructFromLiteral);
+    static NeverDestroyed<const String> type(ASCIILiteral("ArrayOfThings"));
     return type;
 }
 
@@ -82,6 +92,27 @@ bool InputTraits<Test::ArrayOfThings>::decode(EncodedValue& encodedValue, std::u
     return true;
 }
 
+const String& InputTraits<Test::SavedHistory>::type()
+{
+    static NeverDestroyed<const String> type(ASCIILiteral("SavedHistory"));
+    return type;
+}
+
+void InputTraits<Test::SavedHistory>::encode(EncodedValue& encodedValue, const Test::SavedHistory& input)
+{
+    encodedValue.put<Vector<WebCore::HistoryItem>>(ASCIILiteral("entries"), input.entries());
+}
+
+bool InputTraits<Test::SavedHistory>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::SavedHistory>& input)
+{
+    Vector<RefPtr<WebCore::HistoryItem>> entries;
+    if (!encodedValue.get<Vector<WebCore::HistoryItem>>(ASCIILiteral("entries"), entries))
+        return false;
+
+    input = std::make_unique<Test::SavedHistory>(entries);
+    return true;
+}
+
 } // namespace JSC
 
 #endif // ENABLE(WEB_REPLAY)