Today there’s a major voluntary effort between the WordPress developers and the wider WordPress user community to test for and hopefully repair bugs in the upcoming 2.0.4 and 2.1 releases of WordPress.
Here’s my contribution. My thanks to
Validation of Administrative Interface Pages
This is a major task as the adminitrative interface is both (relatively) complex and heavily used by everyone.
Strategy
rboren asked for specific testing on single quotes and their correct escaping through the system, so a lot of my test data is going to contain capricious apostrophes and other tricky entities.
- Set up local testing blog from 2.0.4
- paul@kubuntu ~/public_html> svn export http://svn.automattic.com/wordpress/branches/2.0 wp-bughunt/
Exported revision 3970.
Created databasewp_bughuntand configured the exported WordPress accordingly. - Install WordPress
-
- /wp-admin/install.php
- Intro: PASS
First step: PASS
Enter weblog titleWordPress ‘Bughunt’, by Libertus
, e-mail address paul@localhost. ERROR: the e-mail address isn’t correct. Change e-mail address to libertus@libertini.net and continue.
Second step: PASS - /wp-login.php
- BUG Big red error about username field being empty. Well, I just arrived at the page, so that’s no surprise.
Login screen: PASS - /wp-admin/
- Dashboard: PASS
- Manage Interface
- These tests were run immediately post-install, with installed demo data only.
- Manage Posts – /wp-admin/edit.php
- FAIL due to bug #2857, patch locally applied.
- Manage Files – /wp-admin/templates.php
- BUG, Fx, if file not found (i.e.
.htaccess) the warning message background bleeds into the right-hand file list
BUG with zero-length writable.htaccess
Validation PASS (tried with a couple of files, both read-only and writable) - Manage Comments – /wp-admin/edit-comments.php
- PASS
- Manage Categories – /wp-admin/categories.php
- PASS
- Manage Pages – /wp-admin/edit-pages.php
- PASS
- Moderation – /wp-admin/moderation.php
- I placed the demo comment into moderation. FAIL Error Line 56 column 329: character “[" is not allowed in the value of attribute "id". ..."radio" name="comment[1]” id=”comment[1]-approve” value=”approve” /> <label f
- Links Interface
- These tests were run immediately post-install, with installed demo data only.
- Manage Links – /wp-admin/link-manager.php
- FAIL –
Delete
links –Error duplicate specification of attribute “class”.
- Add Link – /wp-admin/link-add.php
- FAIL element id “friend” is already defined
- Link Categories – /wp-admin/link-categories.php
- FAIL – delete link – an attribute specification must start with a name or name token (nonce-related again)
FAIL – form without action - Import Blogroll – /wp-admin/link-import.php
- FAIL – multiple errors, elements out of place or not allowed in context, missing end p tag
- Write Interface
- These tests were run immediately post-install, with installed demo data only.
- Write Post – /wp-admin/post.php?action=edit&post=1
- Rich editor is enabled. FAIL – multiple errors.
Warning Line 152 column 95: character “<” is the first character of a delimiter but occurred as data. …undefined” || tinyMCE.configs.length < 1 ) edToolbar();</script>
Error Line 155 column 91: document type does not allow element “p” here. …content” tabindex=”2″ id=”content”><p>Welcome to WordPress. This is your firs
Error Line 203 column 30: there is no attribute “border”. <iframe id=”uploading” border=”0″ src=”inline-uploading.php?action=view&post
Warning Line 250 column 54: cannot generate system identifier for general entity “preview”. …tp://localhost/~paul/wp-bughunt/?p=1&preview=true” width=”100%” height=”600″ - Write Post – /wp-admin/post.php?action=edit&post=1
- Rich editor disabled. FAIL – mostly similar errors to previous.
- Write Post – edit post title to contain apostrophes
- Manage Pages – /wp-admin/edit-pages.php
- PASS
- Write Page – /wp-admin/post.php?action=edit&post=302
- FAIL – as well as the post editing errors, id “pageparent” is redefined and there is a mismatched div tag
- Presentation Interface
-
- Themes – /wp-admin/themes.php
- PASS
- Theme Editor – /wp-admin/theme-editor.php
- PASS
- Default Theme Options – Header Image and Color – /wp-admin/themes.php?page=functions.php
- FAIL – multiple failures, br tag out of place, unescaped Javascript, forms without action attribute, form with uppercase POST method
- Plugins Interface
-
- Plugins – /wp-admin/plugins.php
- No plugins active: PASS, Akismet activated: FAIL – misplaced <style> tag (probably the “you need to enter your key” admin notice), Akismet deactivated: PASS
- Plugin Editor – /wp-admin/plugin-editor.php
- PASS (both read-only and writable)
- Users Interface
-
- Your Profile – /wp-admin/profile.php
- FAIL – end tag for table which is not finished
- Authors & Users
- FAIL – element id “adduser” already defined
- Attempted to demote sole admin user to Subscriber
- Operationally correct – admin notice appears. FAIL – element id “message” already defined
- Options Interface
-
- General – /wp-admin/options-general.php
- PASS
- Writing – /wp-admin/options-writing.php
- PASS
- Reading – /wp-admin/options-reading.php
- PASS
- Discussion – /wp-admin/options-discussion.php
- PASS
- Permalinks – /wp-admin/options-permalink.php
- PASS
- Miscellaneous – /wp-admin/options-misc.php
- PASS
- Import Interface
- Not used much, but still should be valid markup.
- Import – /wp-admin/import.php
- PASS
- TextPattern – /wp-admin/admin.php?import=textpattern
- Page 1: FAIL – labels for non-existent IDs
- DotClear – /wp-admin/admin.php?import=dotclear
- Page 1: FAIL – labels for non-existed IDs
Cut and paste detected! - Movable Type – /wp-admin/admin.php?import=mt
- Page 1: FAIL – uppercase POST, unescaped ampersands in URLs,
- LiveJournal – /wp-admin/admin.php?import=livejournal
- Page 1: FAIL – uppercase POST
- Blogger
- Page 1: PASS
- RSS – /wp-admin/admin.php?import=rss
- Page 1: FAIL – uppercase POST
Page 2: PASS
Bugs To Report
- E-mail address paul@localhost is valid.
- Login screen displays field data error message on entry
- Warning div for “file not found” during Manage Files bleeds into file list
Warning: fread() [function.fread]: Length parameter must be greater than 0 in /home/paul/public_html/wp-bughunt/wp-admin/templates.php on line 80
when editing zero-length file- Manage Posts – Unapprove/Approve comment link – unapprove worked fine, but re-approving the same comment fails with
Warning: gethostbyaddr() [function.gethostbyaddr]: Address is not a valid IPv4 or IPv6 address in /home/paul/public_html/wp-bughunt/wp-includes/pluggable-functions.php on line 338
Demo comment from installation has no IP address Add user – form is blanked if a mistake is made (such as a missing e-mail address) after submissionTrac #2905
Andrew K. says:
Hey man, was good fun squashing the validation bugs with you. Yah WordPress.
July 5, 2006, 3:43 pmLibertus says:
Likewise! Great fun. Let’s do it again, sometime!
July 5, 2006, 6:26 pm