Merge pull request #581 from philiparthurmoore/master

Introduce Coding Standards Checks into Underscores
This commit is contained in:
Philip Arthur Moore 2014-08-18 00:26:27 +07:00
commit f490e2839f
4 changed files with 125 additions and 5 deletions

111
.travis.yml Normal file
View File

@ -0,0 +1,111 @@
# Travis CI (MIT License) configuration file for the Underscores WordPress theme
# @link https://travis-ci.org/
# For use with the Underscores WordPress theme
# @link https://github.com/Automattic/_s
# Declare project language.
# @link http://about.travis-ci.org/docs/user/languages/php/
language: php
# Declare versions of PHP to use. Use one decimal max.
php:
# aliased to a recent 5.5.x version
- "5.5"
# aliased to a recent 5.4.x version
- "5.4"
# aliased to a recent 5.3.x version
- "5.3"
# Current $required_php_version for WordPress: 5.2.4
- "5.2"
# Declare which versions of WordPress to test against.
# Also declare whether or not to test in Multisite.
env:
# Trunk
# @link https://github.com/WordPress/WordPress
- WP_VERSION=master WP_MULTISITE=0
- WP_VERSION=master WP_MULTISITE=1
# WordPress 3.9
# @link https://github.com/WordPress/WordPress/tree/3.9-branch
- WP_VERSION=3.9 WP_MULTISITE=0
- WP_VERSION=3.9 WP_MULTISITE=1
# WordPress 3.8
# @link https://github.com/WordPress/WordPress/tree/3.8-branch
- WP_VERSION=3.8 WP_MULTISITE=0
- WP_VERSION=3.8 WP_MULTISITE=1
# Declare 5.6 beta in test matrix.
# @link https://buddypress.trac.wordpress.org/ticket/5620
# @link http://docs.travis-ci.com/user/build-configuration/
matrix:
include:
- php: 5.6
env: WP_VERSION=master
allow_failures:
- php: 5.6
fast_finish: true
# Use this to prepare the system to install prerequisites or dependencies.
# e.g. sudo apt-get update.
# Failures in this section will result in build status 'errored'.
# before_install:
# Use this to prepare your build for testing.
# e.g. copy database configurations, environment variables, etc.
# Failures in this section will result in build status 'errored'.
before_script:
# Set up WordPress installation.
- export WP_DEVELOP_DIR=/tmp/wordpress/
- mkdir -p $WP_DEVELOP_DIR
# Use the Git mirror of WordPress.
- git clone --depth=1 --branch="$WP_VERSION" git://develop.git.wordpress.org/ $WP_DEVELOP_DIR
# Set up plugin information.
- plugin_slug=$(basename $(pwd))
- plugin_dir=$WP_DEVELOP_DIR/src/wp-content/plugins/$plugin_slug
- cd ..
- mv $plugin_slug $plugin_dir
# Set up WordPress configuration.
- cd $WP_DEVELOP_DIR
- echo $WP_DEVELOP_DIR
- cp wp-tests-config-sample.php wp-tests-config.php
- sed -i "s/youremptytestdbnamehere/wordpress_test/" wp-tests-config.php
- sed -i "s/yourusernamehere/root/" wp-tests-config.php
- sed -i "s/yourpasswordhere//" wp-tests-config.php
# Create WordPress database.
- mysql -e 'CREATE DATABASE wordpress_test;' -uroot
# Install CodeSniffer for WordPress Coding Standards checks.
- git clone https://github.com/squizlabs/PHP_CodeSniffer.git php-codesniffer
# Install WordPress Coding Standards.
- git clone https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git wordpress-coding-standards
# Hop into CodeSniffer directory.
- cd php-codesniffer
# Set install path for WordPress Coding Standards
# @link https://github.com/squizlabs/PHP_CodeSniffer/blob/4237c2fc98cc838730b76ee9cee316f99286a2a7/CodeSniffer.php#L1941
- scripts/phpcs --config-set installed_paths ../wordpress-coding-standards
# Hop into plugins directory.
- cd $plugin_dir
# After CodeSniffer install you should refresh your path.
- phpenv rehash
# Run test script commands.
# Default is specific to project language.
# All commands must exit with code 0 on success. Anything else is considered failure.
script:
# Search for PHP syntax errors.
- find . \( -name '*.php' \) -exec php -lf {} \;
# WordPress Coding Standards
# @link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards
# @link http://pear.php.net/package/PHP_CodeSniffer/
# -p flag: Show progress of the run.
# -s flag: Show sniff codes in all reports.
# -v flag: Print verbose output.
# -n flag: Do not print warnings (shortcut for --warning-severity=0)
# --standard: Use WordPress as the standard.
# --extensions: Only sniff PHP files.
- $WP_DEVELOP_DIR/php-codesniffer/scripts/phpcs -p -s -v -n . --standard=./codesniffer.ruleset.xml --extensions=php
# Receive notifications for build results.
# @link http://docs.travis-ci.com/user/notifications/#Email-notifications
notifications:
email: false

11
codesniffer.ruleset.xml Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0"?>
<ruleset name="Underscores WordPress Theme Coding Standards Configuration">
<!-- Set a description for this ruleset. -->
<description>A custom set of code standard rules to check for Underscores.</description>
<!-- Include the WordPress ruleset, with exclusions. -->
<rule ref="WordPress">
<exclude name="WordPress.XSS.EscapeOutput" />
<exclude name="WordPress.WhiteSpace.ScopeIndent.Incorrect" />
</rule>
</ruleset>

View File

@ -38,7 +38,6 @@
} else {
$meta_text = __( 'Bookmark the <a href="%3$s" rel="bookmark">permalink</a>.', '_s' );
}
} else {
// But this blog has loads of categories so we should probably display them here
if ( '' != $tag_list ) {
@ -46,7 +45,6 @@
} else {
$meta_text = __( 'This entry was posted in %1$s. Bookmark the <a href="%3$s" rel="bookmark">permalink</a>.', '_s' );
}
} // end check for categories on this blog
printf(

View File

@ -44,13 +44,13 @@ function _s_setup() {
register_nav_menus( array(
'primary' => __( 'Primary Menu', '_s' ),
) );
/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support( 'html5', array(
'search-form', 'comment-form', 'comment-list', 'gallery', 'caption'
'search-form', 'comment-form', 'comment-list', 'gallery', 'caption',
) );
/*
@ -58,7 +58,7 @@ function _s_setup() {
* See http://codex.wordpress.org/Post_Formats
*/
add_theme_support( 'post-formats', array(
'aside', 'image', 'video', 'quote', 'link'
'aside', 'image', 'video', 'quote', 'link',
) );
// Setup the WordPress core custom background feature.