Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-12-04 19:04:35 +0300
committerThomas Müller <thomas.mueller@tmit.eu>2014-12-11 14:02:11 +0300
commit08f1db445134e98188f3e1e5b6b84a6eac1f6346 (patch)
tree1df2c7365690ecd7277e46b14116bd8b8ca806f9 /tests/lib/app
parentb33d8a3d60555de3e6e99a92eed3a303e55a3380 (diff)
adding dependencies for command line tools
Diffstat (limited to 'tests/lib/app')
-rw-r--r--tests/lib/app/dependencyanalyzer.php43
1 files changed, 41 insertions, 2 deletions
diff --git a/tests/lib/app/dependencyanalyzer.php b/tests/lib/app/dependencyanalyzer.php
index 7d06842e8ad..a21b53264bc 100644
--- a/tests/lib/app/dependencyanalyzer.php
+++ b/tests/lib/app/dependencyanalyzer.php
@@ -35,6 +35,15 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
$this->platformMock->expects($this->any())
->method('getDatabase')
->will( $this->returnValue('mysql'));
+ $this->platformMock->expects($this->any())
+ ->method('getOS')
+ ->will( $this->returnValue('Linux'));
+ $this->platformMock->expects($this->any())
+ ->method('isCommandKnown')
+ ->will( $this->returnCallback(function($command) {
+ return ($command === 'grep');
+ }));
+
$this->l10nMock = $this->getMockBuilder('\OCP\IL10N')
->disableOriginalConstructor()
->getMock();
@@ -64,7 +73,6 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
$missing = $analyser->analyze();
$this->assertTrue(is_array($missing));
- $this->assertEquals(count($expectedMissing), count($missing));
$this->assertEquals($expectedMissing, $missing);
}
@@ -83,10 +91,41 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
$missing = $analyser->analyze();
$this->assertTrue(is_array($missing));
- $this->assertEquals(count($expectedMissing), count($missing));
$this->assertEquals($expectedMissing, $missing);
}
+ /**
+ * @dataProvider providesCommands
+ */
+ public function testCommand($expectedMissing, $commands) {
+ $app = array(
+ 'dependencies' => array(
+ )
+ );
+ if (!is_null($commands)) {
+ $app['dependencies']['command'] = $commands;
+ }
+ $analyser = new \OC\App\DependencyAnalyzer($app, $this->platformMock, $this->l10nMock);
+ $missing = $analyser->analyze();
+
+ $this->assertTrue(is_array($missing));
+ $this->assertEquals($expectedMissing, $missing);
+ }
+
+ function providesCommands() {
+ return array(
+ array(array(), null),
+ // grep is known on linux
+ array(array(), array(array('@attributes' => array('os' => 'Linux'), '@value' => 'grep'))),
+ // grepp is not known on linux
+ array(array('The command line tool grepp could not be found'), array(array('@attributes' => array('os' => 'Linux'), '@value' => 'grepp'))),
+ // we don't care about tools on Windows - we are on Linux
+ array(array(), array(array('@attributes' => array('os' => 'Windows'), '@value' => 'grepp'))),
+ // grep is known on all systems
+ array(array(), array('grep')),
+ );
+ }
+
function providesDatabases() {
return array(
// non BC - in case on databases are defined -> all are supported