This past week, I continued delving into the mysteries of unit testing, and ended up submitting a minor patch back to the unit-tests repo (after spending some time trying to figure out what was wrong with my setup that was causing one of the tests to fail on core Core is the set of software required to run WordPress. The Core Development Team builds WordPress.).
The Post By Email plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party now has working tests for activation, but not yet for the main functionality, which will require further research to learn how to mock out email retrieval. (I’ve back-burnered this for the moment.)
I also spent some time wandering around Trac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., and learned that a problem I’ve been having is actually an ancient bug, which I then tracked down to a misbehaving regex that is supposed to determine the charset of the email. It requests that iconv transform the given text into the garbled charset, gets nothing back, and proceeds to cheerfully create an empty post. I haven’t fixed it yet, as I’m hoping to replace large swaths of that code with a new library anyhow (apparently we originally got that POP3 library from SquirrelMail, which does now support IMAP and SSL Secure Sockets Layer. Provides a secure means of sending data over the internet. Used for authenticated and private actions., so that’s the first place I’ll look unless there are other recommendations).
Finally, I collated the plugin’s status and error messages into a mini-log, and added a quick status overview to the settings page. I also put a “check now” button in the settings. Right now it just logs the result of the most recent check; ultimately I plan to show a longer history, and also organize/format the messages better (errors color-coded, links to posts, etc.).
I tweaked a few more things about my setup this week, and am now mirroring the plugin source on Github, if Git Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/. happens to be more your cup of tea.
Next, I’m focusing on developing a patch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. to deprecate Core, and vetting existing plugins to ensure backward compatibility.