Make WordPress Core

Ticket #42282: 42282.3.diff

File 42282.3.diff, 1.7 KB (added by iandunn, 6 years ago)

Add support for arbitrary --files and --group

  • Gruntfile.js

    diff --git Gruntfile.js Gruntfile.js
    index e3b06c5a60..3e97237e06 100644
    module.exports = function(grunt) { 
    1010                SOURCE_DIR = 'src/',
    1111                BUILD_DIR = 'build/',
    1212                BANNER_TEXT = '/*! This file is auto-generated */',
    13                 autoprefixer = require( 'autoprefixer' );
     13                autoprefixer = require( 'autoprefixer' ),
     14                phpUnitWatchFiles = grunt.option( 'files' ) && SOURCE_DIR + grunt.option( 'files' );
     15                phpUnitWatchGroup = grunt.option( 'group' );
     16
     17        if ( 'watch:phpunit' === grunt.cli.tasks[ 0 ] ) {
     18                if ( phpUnitWatchFiles && '.php' !== phpUnitWatchFiles.substring( phpUnitWatchFiles.length - 4 ) ) {
     19                        phpUnitWatchFiles += '/*.php';
     20                }
     21
     22                if ( ! phpUnitWatchFiles || ! phpUnitWatchGroup ) {
     23                        grunt.log.writeln();
     24                        grunt.fail.fatal(
     25                                'Missing required parameters. Example usage: ' + "\n\n" +
     26                                'grunt watch:phpunit --files=wp-admin/includes --group=community-events'
     27                        );
     28                }
     29        }
    1430
    1531        // Load tasks.
    1632        require('matchdep').filterDev(['grunt-*', '!grunt-legacy-util']).forEach( grunt.loadNpmTasks );
    module.exports = function(grunt) { 
    742758                                        '!tests/qunit/editor/**'
    743759                                ],
    744760                                tasks: ['qunit']
     761                        },
     762                        phpunit: {
     763                                files: [ phpUnitWatchFiles ],
     764                                tasks: [ 'phpunit:default' ]
    745765                        }
    746766                }
    747767        });
    module.exports = function(grunt) { 
    945965        grunt.registerMultiTask('phpunit', 'Runs PHPUnit tests, including the ajax, external-http, and multisite tests.', function() {
    946966                grunt.util.spawn({
    947967                        cmd: this.data.cmd,
    948                         args: this.data.args,
     968                        args: phpUnitWatchGroup ? this.data.args.concat( [ '--group', phpUnitWatchGroup ] ) : this.data.args,
    949969                        opts: {stdio: 'inherit'}
    950970                }, this.async());
    951971        });