Title: [135409] trunk/Source/WebKit/chromium
Revision
135409
Author
[email protected]
Date
2012-11-21 09:17:07 -0800 (Wed, 21 Nov 2012)

Log Message

IDBRequestTest needs a v8 context
https://bugs.webkit.org/show_bug.cgi?id=102941

Patch by Dan Carney <[email protected]> on 2012-11-21
Reviewed by Jochen Eisinger.

Added v8 context to IDBRequestTest tests.

* tests/IDBRequestTest.cpp:
(IDBRequestTest):
(WebKit::IDBRequestTest::IDBRequestTest):
(WebKit::IDBRequestTest::context):
(WebKit::IDBRequestTest::scriptExecutionContext):
(WebKit):
(WebKit::TEST_F):

Modified Paths

Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (135408 => 135409)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-11-21 16:01:17 UTC (rev 135408)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-11-21 17:17:07 UTC (rev 135409)
@@ -1,3 +1,20 @@
+2012-11-21  Dan Carney  <[email protected]>
+
+        IDBRequestTest needs a v8 context
+        https://bugs.webkit.org/show_bug.cgi?id=102941
+
+        Reviewed by Jochen Eisinger.
+
+        Added v8 context to IDBRequestTest tests.
+
+        * tests/IDBRequestTest.cpp:
+        (IDBRequestTest):
+        (WebKit::IDBRequestTest::IDBRequestTest):
+        (WebKit::IDBRequestTest::context):
+        (WebKit::IDBRequestTest::scriptExecutionContext):
+        (WebKit):
+        (WebKit::TEST_F):
+
 2012-11-21  Peter Beverloo  <[email protected]>
 
         Unreviewed.  Rolled DEPS.

Modified: trunk/Source/WebKit/chromium/tests/IDBRequestTest.cpp (135408 => 135409)


--- trunk/Source/WebKit/chromium/tests/IDBRequestTest.cpp	2012-11-21 16:01:17 UTC (rev 135408)
+++ trunk/Source/WebKit/chromium/tests/IDBRequestTest.cpp	2012-11-21 17:17:07 UTC (rev 135409)
@@ -28,23 +28,64 @@
 #include "IDBRequest.h"
 
 #include "DOMStringList.h"
+#include "Document.h"
+#include "Frame.h"
+#include "FrameTestHelpers.h"
 #include "IDBCursorBackendInterface.h"
 #include "IDBDatabaseBackendImpl.h"
 #include "IDBTransactionCoordinator.h"
+#include "WebFrame.h"
+#include "WebFrameImpl.h"
+#include "WebView.h"
 
 #include <gtest/gtest.h>
 
 #if ENABLE(INDEXED_DATABASE)
 
 using namespace WebCore;
+using namespace WebKit;
 
 namespace {
 
-TEST(IDBRequestTest, EventsAfterStopping)
+class IDBRequestTest : public testing::Test {
+public:
+    IDBRequestTest()
+        : m_webView(0)
+    {
+    }
+
+    void SetUp() OVERRIDE
+    {
+        m_webView = FrameTestHelpers::createWebViewAndLoad("about:blank");
+        m_webView->setFocus(true);
+    }
+
+    void TearDown() OVERRIDE
+    {
+        m_webView->close();
+    }
+
+    v8::Handle<v8::Context> context()
+    {
+        return static_cast<WebFrameImpl*>(m_webView->mainFrame())->frame()->script()->mainWorldContext();
+    }
+
+    ScriptExecutionContext* scriptExecutionContext()
+    {
+        return static_cast<WebFrameImpl*>(m_webView->mainFrame())->frame()->document();
+    }
+
+private:
+    WebView* m_webView;
+};
+
+TEST_F(IDBRequestTest, EventsAfterStopping)
 {
-    ScriptExecutionContext* context = 0;
+    v8::HandleScope handleScope;
+    v8::Context::Scope scope(context());
+
     IDBTransaction* transaction = 0;
-    RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::createInvalid(), transaction);
+    RefPtr<IDBRequest> request = IDBRequest::create(scriptExecutionContext(), IDBAny::createInvalid(), transaction);
     EXPECT_EQ(request->readyState(), "pending");
     request->stop();
 
@@ -59,11 +100,13 @@
     request->onSuccess(IDBKey::createInvalid(), IDBKey::createInvalid(), SerializedScriptValue::nullValue());
 }
 
-TEST(IDBRequestTest, AbortErrorAfterAbort)
+TEST_F(IDBRequestTest, AbortErrorAfterAbort)
 {
-    ScriptExecutionContext* context = 0;
+    v8::HandleScope handleScope;
+    v8::Context::Scope scope(context());
+
     IDBTransaction* transaction = 0;
-    RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::createInvalid(), transaction);
+    RefPtr<IDBRequest> request = IDBRequest::create(scriptExecutionContext(), IDBAny::createInvalid(), transaction);
     EXPECT_EQ(request->readyState(), "pending");
 
     // Simulate the IDBTransaction having received onAbort from back end and aborting the request:
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to