Completed
Push — master ( 82e11d...f999fb )
by Daryl
01:23
created

RoboFile::tests()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 13
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 8
nc 1
nop 0
1
<?php
2
/**
3
 * This is project's console commands configuration for Robo task runner.
4
 *
5
 * @see http://robo.li/
6
 */
7
class RoboFile extends \Robo\Tasks
8
{
9
	// define public methods as commands
10
11
	function scripts() {
12
13
		$this->taskMinify('assets/maps.js')
14
		     ->to('dist/scripts/maps.min.js')
15
		     ->run();
16
17
	}
18
19
	function tests()
20
	{
21
22
		$this->taskExec('mysql -e "CREATE DATABASE IF NOT EXISTS test_db"')->run();
23
		$this->taskExec('mysql -e "GRANT ALL ON test_db.* to \'root\'@\'%\'"')->run();
24
		$this->taskSvnStack()
25
		     ->checkout('https://develop.svn.wordpress.org/tags/4.8.3 wp-tests')
26
		     ->run();
27
28
		$this->setTestConfig();
29
		$this->phpunit();
30
31
	}
32
33
	function phpunit()
34
	{
35
		$this->taskPhpUnit('vendor/bin/phpunit')
36
		     ->configFile('tests/phpunit.xml.dist')
37
		     ->envVars(array('WP_TESTS_DIR' => 'wp-tests'))
38
		     ->run();
39
	}
40
41
	private function setTestConfig()
42
	{
43
44
		if (file_exists('wp-tests/wp-tests-config-sample.php')) {
45
			copy('wp-tests/wp-tests-config-sample.php', 'wp-tests/wp-tests-config.php');
46
		}
47
48
		$this->taskReplaceInFile( 'wp-tests/wp-tests-config.php')
49
		     ->from('youremptytestdbnamehere')
50
		     ->to('test_db')
51
		     ->run();
52
53
		$this->taskReplaceInFile( 'wp-tests/wp-tests-config.php')
54
		     ->from('yourusernamehere')
55
		     ->to('root')
56
		     ->run();
57
58
		$this->taskReplaceInFile( 'wp-tests/wp-tests-config.php')
59
		     ->from('yourpasswordhere')
60
		     ->to('')
61
		     ->run();
62
	}
63
64
}