WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
46953
Add simple API tester for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=46953
Summary
Add simple API tester for WebKit2
Sam Weinig
Reported
2010-09-30 18:47:22 PDT
Add simple API tester for WebKit2.
Attachments
Patch
(77.27 KB, patch)
2010-09-30 19:12 PDT
,
Sam Weinig
no flags
Details
Formatted Diff
Diff
Updated patch
(71.44 KB, patch)
2010-09-30 19:39 PDT
,
Sam Weinig
aroben
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Sam Weinig
Comment 1
2010-09-30 19:12:51 PDT
Created
attachment 69411
[details]
Patch
Sam Weinig
Comment 2
2010-09-30 19:13:05 PDT
<
rdar://problem/8235234
>
WebKit Review Bot
Comment 3
2010-09-30 19:16:47 PDT
Attachment 69411
[details]
did not pass style-queue: Failed to run "['WebKitTools/Scripts/check-webkit-style']" exit_code: 1 WebKitTools/TestWebKitAPI/TestWebKitAPIPrefix.h:29: Alphabetical sorting problem. [build/include_order] [4] WebKitTools/TestWebKitAPI/TestsController.cpp:26: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] WebKitTools/TestWebKitAPI/Test.h:80: TEST_CLASS_NAME is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4] WebKitTools/TestWebKitAPI/Tests/WebKit2/BasicTest1.cpp:26: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] WebKitTools/TestWebKitAPI/Tests/WebKit2/BasicTest1.cpp:31: Alphabetical sorting problem. [build/include_order] [4] WebKitTools/TestWebKitAPI/Tests/WTF/Vector1.cpp:26: Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] WebKitTools/TestWebKitAPI/Tests/WTF/Vector1.cpp:36: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] WebKitTools/TestWebKitAPI/Tests/WTF/Vector1.cpp:37: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 8 in 46 files If any of these errors are false positives, please file a bug against check-webkit-style.
Sam Weinig
Comment 4
2010-09-30 19:39:40 PDT
Created
attachment 69413
[details]
Updated patch
Adam Roben (:aroben)
Comment 5
2010-10-01 11:54:51 PDT
Comment on
attachment 69413
[details]
Updated patch View in context:
https://bugs.webkit.org/attachment.cgi?id=69413&action=review
I didn't look at the Perl very closely. When should we integrate this into run-webkit-tests?
> WebKitTools/ChangeLog:24 > + * TestWebKitAPI: Added.
Maybe TestWebKit2API would be better?
> WebKitTools/TestWebKitAPI/PlatformWebView.h:30 > +#if __APPLE__ > +#if __OBJC__
#ifdef is better if you want to turn on the "warn for undefined macros" warning someday.
> WebKitTools/TestWebKitAPI/PlatformWebView.h:38 > +typedef WKView* PlatformWKView; > +typedef NSWindow* PlatformWindow;
Misplaced *s.
> WebKitTools/TestWebKitAPI/PlatformWebView.h:52 > + PlatformWKView platformView() { return m_view; }
Can be a const member function.
> WebKitTools/TestWebKitAPI/ForwardingHeaders/wtf/ASCIICType.h:1 > +#include <JavaScriptCore/ASCIICType.h>
Can we just use WebCore's forwarding headers instead? They're copied into WebCore's PrivateHeaders.
> WebKitTools/TestWebKitAPI/Tests/WTF/Vector1.cpp:38 > +TEST(Vector1) > +{ > + Vector<int> intVector; > + TEST_ASSERT(intVector.isEmpty()); > + TEST_ASSERT(intVector.size() == 0); > + TEST_ASSERT(intVector.capacity() == 0); > +}
WTF isn't really part of the WebKit2 API. Why are we testing it here?
> WebKitTools/TestWebKitAPI/Tests/WebKit2/BasicTest1.cpp:52 > + State* state = ((State*)clientInfo);
Extra parentheses here. And static_cast/const_cast would maybe be better.
> WebKitTools/TestWebKitAPI/Tests/WebKit2/BasicTest1.cpp:57 > + TEST_ASSERT(state->didDecidePolicyForNavigationAction); > + TEST_ASSERT(!state->didCommitLoadForFrame); > + > + state->didStartProvisionalLoadForFrame = true;
Should we assert that didStartProvisionalLoadForFrame is false before this? An enum for the states would be nicer, since we always expect them to be called in the same order. It would make the order clearer!
> WebKitTools/TestWebKitAPI/Tests/WebKit2/BasicTest1.cpp:107 > + PlatformWebView webView(pageNamespace.get());
Having PlatformWebView both here and in WebKitTestRunner makes me think that getting the view from the page (rather than vice-versa) might be better overall.
Sam Weinig
Comment 6
2010-10-01 12:06:47 PDT
(In reply to
comment #5
)
> (From update of
attachment 69413
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=69413&action=review
> > I didn't look at the Perl very closely. > > When should we integrate this into run-webkit-tests? > > > WebKitTools/ChangeLog:24 > > + * TestWebKitAPI: Added. > > Maybe TestWebKit2API would be better?
There is not much in here that has to be WebKit2 specific. I have even provided a test case for WTF/Vector.h.
> > > WebKitTools/TestWebKitAPI/PlatformWebView.h:30 > > +#if __APPLE__ > > +#if __OBJC__ > > #ifdef is better if you want to turn on the "warn for undefined macros" warning someday. > > > WebKitTools/TestWebKitAPI/PlatformWebView.h:38 > > +typedef WKView* PlatformWKView; > > +typedef NSWindow* PlatformWindow; > > Misplaced *s. >
Done.
> > WebKitTools/TestWebKitAPI/PlatformWebView.h:52 > > + PlatformWKView platformView() { return m_view; } > > Can be a const member function.
Done.
> > > WebKitTools/TestWebKitAPI/ForwardingHeaders/wtf/ASCIICType.h:1 > > +#include <JavaScriptCore/ASCIICType.h> > > Can we just use WebCore's forwarding headers instead? They're copied into WebCore's PrivateHeaders. >
I am not sure how to do that. If that works, we should change both WebKitTestRunner and this.
> > WebKitTools/TestWebKitAPI/Tests/WTF/Vector1.cpp:38 > > +TEST(Vector1) > > +{ > > + Vector<int> intVector; > > + TEST_ASSERT(intVector.isEmpty()); > > + TEST_ASSERT(intVector.size() == 0); > > + TEST_ASSERT(intVector.capacity() == 0); > > +} > > WTF isn't really part of the WebKit2 API. Why are we testing it here?
See above.
> > > WebKitTools/TestWebKitAPI/Tests/WebKit2/BasicTest1.cpp:52 > > + State* state = ((State*)clientInfo); > > Extra parentheses here. And static_cast/const_cast would maybe be better.
Done.
> > WebKitTools/TestWebKitAPI/Tests/WebKit2/BasicTest1.cpp:57 > > + TEST_ASSERT(state->didDecidePolicyForNavigationAction); > > + TEST_ASSERT(!state->didCommitLoadForFrame); > > + > > + state->didStartProvisionalLoadForFrame = true; > > Should we assert that didStartProvisionalLoadForFrame is false before this?
Done.
> > WebKitTools/TestWebKitAPI/Tests/WebKit2/BasicTest1.cpp:107 > > + PlatformWebView webView(pageNamespace.get()); > > Having PlatformWebView both here and in WebKitTestRunner makes me think that getting the view from the page (rather than vice-versa) might be better overall.
Perhaps.
Sam Weinig
Comment 7
2010-10-01 12:07:24 PDT
Oops, didn't mean to close this.
Sam Weinig
Comment 8
2010-10-01 12:07:53 PDT
Landed in
r68910
.
WebKit Review Bot
Comment 9
2010-10-01 14:07:08 PDT
http://trac.webkit.org/changeset/68910
might have broken GTK Linux 32-bit Debug
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug