Title: [142388] trunk/Source/Platform
Revision
142388
Author
[email protected]
Date
2013-02-09 23:09:15 -0800 (Sat, 09 Feb 2013)

Log Message

[chromium] Enable more of webkit_unit_tests in component builds
https://bugs.webkit.org/show_bug.cgi?id=109369

Reviewed by Darin Fisher.

Add a set of testing APIs to a WebUnitTestSupport interface available off of Platform for unit tests to access
in component builds.

* chromium/public/Platform.h:
(WebKit):
(Platform):
(WebKit::Platform::unitTestSupport):
* chromium/public/WebUnitTestSupport.h: Added.
(WebKit):
(WebUnitTestSupport):
(WebKit::WebUnitTestSupport::registerMockedURL):
(WebKit::WebUnitTestSupport::registerMockedErrorURL):
(WebKit::WebUnitTestSupport::unregisterMockedURL):
(WebKit::WebUnitTestSupport::unregisterAllMockedURLs):
(WebKit::WebUnitTestSupport::serveAsynchronousMockedRequests):
(WebKit::WebUnitTestSupport::webKitRootDir):

Modified Paths

Added Paths

Diff

Modified: trunk/Source/Platform/ChangeLog (142387 => 142388)


--- trunk/Source/Platform/ChangeLog	2013-02-10 06:41:34 UTC (rev 142387)
+++ trunk/Source/Platform/ChangeLog	2013-02-10 07:09:15 UTC (rev 142388)
@@ -1,3 +1,27 @@
+2013-02-09  James Robinson  <[email protected]>
+
+        [chromium] Enable more of webkit_unit_tests in component builds
+        https://bugs.webkit.org/show_bug.cgi?id=109369
+
+        Reviewed by Darin Fisher.
+
+        Add a set of testing APIs to a WebUnitTestSupport interface available off of Platform for unit tests to access
+        in component builds.
+
+        * chromium/public/Platform.h:
+        (WebKit):
+        (Platform):
+        (WebKit::Platform::unitTestSupport):
+        * chromium/public/WebUnitTestSupport.h: Added.
+        (WebKit):
+        (WebUnitTestSupport):
+        (WebKit::WebUnitTestSupport::registerMockedURL):
+        (WebKit::WebUnitTestSupport::registerMockedErrorURL):
+        (WebKit::WebUnitTestSupport::unregisterMockedURL):
+        (WebKit::WebUnitTestSupport::unregisterAllMockedURLs):
+        (WebKit::WebUnitTestSupport::serveAsynchronousMockedRequests):
+        (WebKit::WebUnitTestSupport::webKitRootDir):
+
 2013-02-08  Tommy Widenflycht  <[email protected]>
 
         MediaStream API: Removing the deprecated WebMediaStreamDescriptor and WebMediaStreamComponent shims

Modified: trunk/Source/Platform/chromium/public/Platform.h (142387 => 142388)


--- trunk/Source/Platform/chromium/public/Platform.h	2013-02-10 06:41:34 UTC (rev 142387)
+++ trunk/Source/Platform/chromium/public/Platform.h	2013-02-10 07:09:15 UTC (rev 142388)
@@ -67,13 +67,14 @@
 class WebSandboxSupport;
 class WebSocketStreamHandle;
 class WebStorageNamespace;
+class WebUnitTestSupport;
 class WebThemeEngine;
 class WebThread;
 class WebURL;
 class WebURLLoader;
 class WebWorkerRunLoop;
+struct WebFloatPoint;
 struct WebLocalizedString;
-struct WebFloatPoint;
 struct WebSize;
 
 class Platform {
@@ -360,6 +361,13 @@
     virtual void callOnMainThread(void (*func)(void*), void* context) { }
 
 
+    // Testing -------------------------------------------------------------
+
+#define HAVE_WEBUNITTESTSUPPORT 1
+    // Get a pointer to testing support interfaces. Will not be available in production builds.
+    virtual WebUnitTestSupport* unitTestSupport() { return 0; }
+
+
     // Tracing -------------------------------------------------------------
 
     // Get a pointer to the enabled state of the given trace category. The

Added: trunk/Source/Platform/chromium/public/WebUnitTestSupport.h (0 => 142388)


--- trunk/Source/Platform/chromium/public/WebUnitTestSupport.h	                        (rev 0)
+++ trunk/Source/Platform/chromium/public/WebUnitTestSupport.h	2013-02-10 07:09:15 UTC (rev 142388)
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2013 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebUnitTestSupport_h
+#define WebUnitTestSupport_h
+
+#include "WebCommon.h"
+#include "WebString.h"
+
+namespace WebKit {
+
+class WebURL;
+class WebURLResponse;
+struct WebURLError;
+
+class WebUnitTestSupport {
+public:
+    virtual void registerMockedURL(const WebURL&, const WebURLResponse&, const WebString& filePath) { }
+
+    // Registers the error to be returned when |url| is requested.
+    virtual void registerMockedErrorURL(const WebURL&, const WebURLResponse&, const WebURLError&) { }
+
+    // Unregisters URLs so they are no longer mocked.
+    virtual void unregisterMockedURL(const WebURL&) { }
+    virtual void unregisterAllMockedURLs() { }
+
+    // Causes all pending asynchronous requests to be served. When this method
+    // returns all the pending requests have been processed.
+    virtual void serveAsynchronousMockedRequests() { }
+
+    // Returns the root directory of the WebKit code.
+    virtual WebString webKitRootDir() { return WebString(); }
+};
+
+}
+
+#endif // WebUnitTestSupport_h
Property changes on: trunk/Source/Platform/chromium/public/WebUnitTestSupport.h
___________________________________________________________________

Added: svn:eol-style

_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to