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