summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorBart Visscher <bartv@thisnet.nl>2013-07-11 18:47:19 +0200
committerBart Visscher <bartv@thisnet.nl>2013-07-13 12:01:14 +0200
commit5549c77ec5256722fc11e92745c8fe769bece285 (patch)
tree876411d0a0181ec31177ec3425c81d25a25760da /tests
parentab2037ab5d215220c7edbd0685f4f3b25d523258 (diff)
parentc5f2ea9a9511e78d724bb1c90748f894bb8b57af (diff)
downloadnextcloud-server-5549c77ec5256722fc11e92745c8fe769bece285.tar.gz
nextcloud-server-5549c77ec5256722fc11e92745c8fe769bece285.zip
Merge branch 'master' into doctrine
Conflicts: 3rdparty lib/db.php lib/setup.php tests/lib/db.php tests/lib/dbschema.php
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/backgroundjob/timedjob.php3
-rw-r--r--tests/lib/db.php28
-rw-r--r--tests/lib/dbschema.php83
-rw-r--r--tests/lib/files/cache/cache.php4
-rw-r--r--tests/lib/files/cache/scanner.php1
-rw-r--r--tests/lib/files/cache/updater.php6
-rw-r--r--tests/lib/files/mount/mount.php46
-rw-r--r--tests/lib/files/storage/storage.php14
-rw-r--r--tests/lib/files/storage/wrapper.php26
-rw-r--r--tests/lib/files/stream/staticstream.php68
-rw-r--r--tests/lib/hooks/basicemitter.php18
-rw-r--r--tests/lib/hooks/forwardingemitter.php74
-rw-r--r--tests/lib/session/session.php2
-rw-r--r--tests/lib/streamwrappers.php12
-rw-r--r--tests/lib/util.php6
-rw-r--r--tests/phpunit.xml.dist (renamed from tests/phpunit.xml)3
16 files changed, 316 insertions, 78 deletions
diff --git a/tests/lib/backgroundjob/timedjob.php b/tests/lib/backgroundjob/timedjob.php
index 0af933afef8..f3c3eb4d0dd 100644
--- a/tests/lib/backgroundjob/timedjob.php
+++ b/tests/lib/backgroundjob/timedjob.php
@@ -41,6 +41,7 @@ class TimedJob extends \PHPUnit_Framework_TestCase {
$this->fail("job should have run");
} catch (JobRun $e) {
}
+ $this->assertTrue(true);
}
public function testShouldNotRunWithinInterval() {
@@ -50,6 +51,7 @@ class TimedJob extends \PHPUnit_Framework_TestCase {
} catch (JobRun $e) {
$this->fail("job should not have run");
}
+ $this->assertTrue(true);
}
public function testShouldNotTwice() {
@@ -64,5 +66,6 @@ class TimedJob extends \PHPUnit_Framework_TestCase {
$this->fail("job should not have run the second time");
}
}
+ $this->assertTrue(true);
}
}
diff --git a/tests/lib/db.php b/tests/lib/db.php
index 18b7340ec9b..e817a2db5ed 100644
--- a/tests/lib/db.php
+++ b/tests/lib/db.php
@@ -40,7 +40,7 @@ class Test_DB extends PHPUnit_Framework_TestCase {
$this->assertFalse($row);
$query = OC_DB::prepare('INSERT INTO `*PREFIX*'.$this->table2.'` (`fullname`,`uri`) VALUES (?,?)');
$result = $query->execute(array('fullname test', 'uri_1'));
- $this->assertTrue((bool)$result);
+ $this->assertEquals(1, $result);
$query = OC_DB::prepare('SELECT `fullname`,`uri` FROM `*PREFIX*'.$this->table2.'` WHERE `uri` = ?');
$result = $query->execute(array('uri_1'));
$this->assertTrue((bool)$result);
@@ -57,7 +57,7 @@ class Test_DB extends PHPUnit_Framework_TestCase {
public function testNOW() {
$query = OC_DB::prepare('INSERT INTO `*PREFIX*'.$this->table2.'` (`fullname`,`uri`) VALUES (NOW(),?)');
$result = $query->execute(array('uri_2'));
- $this->assertTrue((bool)$result);
+ $this->assertEquals(1, $result);
$query = OC_DB::prepare('SELECT `fullname`,`uri` FROM `*PREFIX*'.$this->table2.'` WHERE `uri` = ?');
$result = $query->execute(array('uri_2'));
$this->assertTrue((bool)$result);
@@ -66,7 +66,7 @@ class Test_DB extends PHPUnit_Framework_TestCase {
public function testUNIX_TIMESTAMP() {
$query = OC_DB::prepare('INSERT INTO `*PREFIX*'.$this->table2.'` (`fullname`,`uri`) VALUES (UNIX_TIMESTAMP(),?)');
$result = $query->execute(array('uri_3'));
- $this->assertTrue((bool)$result);
+ $this->assertEquals(1, $result);
$query = OC_DB::prepare('SELECT `fullname`,`uri` FROM `*PREFIX*'.$this->table2.'` WHERE `uri` = ?');
$result = $query->execute(array('uri_3'));
$this->assertTrue((bool)$result);
@@ -74,11 +74,11 @@ class Test_DB extends PHPUnit_Framework_TestCase {
public function testinsertIfNotExist() {
$categoryentries = array(
- array('user' => 'test', 'type' => 'contact', 'category' => 'Family'),
- array('user' => 'test', 'type' => 'contact', 'category' => 'Friends'),
- array('user' => 'test', 'type' => 'contact', 'category' => 'Coworkers'),
- array('user' => 'test', 'type' => 'contact', 'category' => 'Coworkers'),
- array('user' => 'test', 'type' => 'contact', 'category' => 'School'),
+ array('user' => 'test', 'type' => 'contact', 'category' => 'Family', 'expectedResult' => 1),
+ array('user' => 'test', 'type' => 'contact', 'category' => 'Friends', 'expectedResult' => 1),
+ array('user' => 'test', 'type' => 'contact', 'category' => 'Coworkers', 'expectedResult' => 1),
+ array('user' => 'test', 'type' => 'contact', 'category' => 'Coworkers', 'expectedResult' => 0),
+ array('user' => 'test', 'type' => 'contact', 'category' => 'School', 'expectedResult' => 1),
);
foreach($categoryentries as $entry) {
@@ -88,13 +88,13 @@ class Test_DB extends PHPUnit_Framework_TestCase {
'type' => $entry['type'],
'category' => $entry['category'],
));
- $this->assertTrue((bool)$result);
+ $this->assertEquals($entry['expectedResult'], $result);
}
$query = OC_DB::prepare('SELECT * FROM `*PREFIX*'.$this->table3.'`');
$result = $query->execute();
$this->assertTrue((bool)$result);
- $this->assertEquals('4', count($result->fetchAll()));
+ $this->assertEquals(4, count($result->fetchAll()));
}
public function testinsertIfNotExistDontOverwrite() {
@@ -105,14 +105,14 @@ class Test_DB extends PHPUnit_Framework_TestCase {
// Normal test to have same known data inserted.
$query = OC_DB::prepare('INSERT INTO `*PREFIX*'.$this->table2.'` (`fullname`, `uri`, `carddata`) VALUES (?, ?, ?)');
$result = $query->execute(array($fullname, $uri, $carddata));
- $this->assertTrue((bool)$result);
+ $this->assertEquals(1, $result);
$query = OC_DB::prepare('SELECT `fullname`, `uri`, `carddata` FROM `*PREFIX*'.$this->table2.'` WHERE `uri` = ?');
$result = $query->execute(array($uri));
$this->assertTrue((bool)$result);
$row = $result->fetchRow();
$this->assertArrayHasKey('carddata', $row);
$this->assertEquals($carddata, $row['carddata']);
- $this->assertEquals('1', $result->numRows());
+ $this->assertEquals(1, $result->numRows());
// Try to insert a new row
$result = OC_DB::insertIfNotExist('*PREFIX*'.$this->table2,
@@ -120,7 +120,7 @@ class Test_DB extends PHPUnit_Framework_TestCase {
'fullname' => $fullname,
'uri' => $uri,
));
- $this->assertTrue((bool)$result);
+ $this->assertEquals(0, $result);
$query = OC_DB::prepare('SELECT `fullname`, `uri`, `carddata` FROM `*PREFIX*'.$this->table2.'` WHERE `uri` = ?');
$result = $query->execute(array($uri));
@@ -130,7 +130,7 @@ class Test_DB extends PHPUnit_Framework_TestCase {
// Test that previously inserted data isn't overwritten
$this->assertEquals($carddata, $row['carddata']);
// And that a new row hasn't been inserted.
- $this->assertEquals('1', $result->numRows());
+ $this->assertEquals(1, $result->numRows());
}
}
diff --git a/tests/lib/dbschema.php b/tests/lib/dbschema.php
index 813112f1fe5..c2e55eabf4b 100644
--- a/tests/lib/dbschema.php
+++ b/tests/lib/dbschema.php
@@ -7,9 +7,8 @@
*/
class Test_DBSchema extends PHPUnit_Framework_TestCase {
- protected static $schema_file = 'static://test_db_scheme';
- protected static $schema_file2 = 'static://test_db_scheme2';
- protected $test_prefix;
+ protected $schema_file = 'static://test_db_scheme';
+ protected $schema_file2 = 'static://test_db_scheme2';
protected $table1;
protected $table2;
@@ -20,19 +19,20 @@ class Test_DBSchema extends PHPUnit_Framework_TestCase {
$r = '_'.OC_Util::generate_random_bytes('4').'_';
$content = file_get_contents( $dbfile );
$content = str_replace( '*dbprefix*', '*dbprefix*'.$r, $content );
- file_put_contents( self::$schema_file, $content );
+ file_put_contents( $this->schema_file, $content );
$content = file_get_contents( $dbfile2 );
$content = str_replace( '*dbprefix*', '*dbprefix*'.$r, $content );
- file_put_contents( self::$schema_file2, $content );
+ file_put_contents( $this->schema_file2, $content );
- $this->test_prefix = $r;
- $this->table1 = $this->test_prefix.'cntcts_addrsbks';
- $this->table2 = $this->test_prefix.'cntcts_cards';
+ $prefix = OC_Config::getValue( "dbtableprefix", "oc_" );
+
+ $this->table1 = $prefix.$r.'cntcts_addrsbks';
+ $this->table2 = $prefix.$r.'cntcts_cards';
}
public function tearDown() {
- unlink(self::$schema_file);
- unlink(self::$schema_file2);
+ unlink($this->schema_file);
+ unlink($this->schema_file2);
}
// everything in one test, they depend on each other
@@ -47,13 +47,13 @@ class Test_DBSchema extends PHPUnit_Framework_TestCase {
}
public function doTestSchemaCreating() {
- OC_DB::createDbFromStructure(self::$schema_file);
+ OC_DB::createDbFromStructure($this->schema_file);
$this->assertTableExist($this->table1);
$this->assertTableExist($this->table2);
}
public function doTestSchemaChanging() {
- OC_DB::updateDbFromStructure(self::$schema_file2);
+ OC_DB::updateDbFromStructure($this->schema_file2);
$this->assertTableExist($this->table2);
}
@@ -66,68 +66,61 @@ class Test_DBSchema extends PHPUnit_Framework_TestCase {
}
public function doTestSchemaRemoving() {
- OC_DB::removeDBStructure(self::$schema_file);
+ OC_DB::removeDBStructure($this->schema_file);
$this->assertTableNotExist($this->table1);
$this->assertTableNotExist($this->table2);
}
public function tableExist($table) {
- $table = '*PREFIX*' . $table;
switch (OC_Config::getValue( 'dbtype', 'sqlite' )) {
case 'sqlite':
case 'sqlite3':
$sql = "SELECT name FROM sqlite_master "
- . "WHERE type = 'table' AND name != 'sqlite_sequence' "
- . "AND name != 'geometry_columns' AND name != 'spatial_ref_sys' "
- . "UNION ALL SELECT name FROM sqlite_temp_master "
- . "WHERE type = 'table' AND name = '".$table."'";
- $query = OC_DB::prepare($sql);
- $result = $query->execute(array());
- $exists = $result && $result->fetchOne();
+ . "WHERE type = 'table' AND name = ? "
+ . "UNION ALL SELECT name FROM sqlite_temp_master "
+ . "WHERE type = 'table' AND name = ?";
+ $result = \OC_DB::executeAudited($sql, array($table, $table));
break;
case 'mysql':
- $sql = 'SHOW TABLES LIKE "'.$table.'"';
- $query = OC_DB::prepare($sql);
- $result = $query->execute(array());
- $exists = $result && $result->fetchOne();
+ $sql = 'SHOW TABLES LIKE ?';
+ $result = \OC_DB::executeAudited($sql, array($table));
break;
case 'pgsql':
- $sql = "SELECT tablename AS table_name, schemaname AS schema_name "
- . "FROM pg_tables WHERE schemaname NOT LIKE 'pg_%' "
- . "AND schemaname != 'information_schema' "
- . "AND tablename = '".$table."'";
- $query = OC_DB::prepare($sql);
- $result = $query->execute(array());
- $exists = $result && $result->fetchOne();
+ $sql = 'SELECT tablename AS table_name, schemaname AS schema_name '
+ . 'FROM pg_tables WHERE schemaname NOT LIKE \'pg_%\' '
+ . 'AND schemaname != \'information_schema\' '
+ . 'AND tablename = ?';
+ $result = \OC_DB::executeAudited($sql, array($table));
break;
case 'oci':
- $sql = "SELECT table_name FROM user_tables WHERE table_name = '{$table}'";
- $query = OC_DB::prepare($sql);
- $result = $query->execute(array());
- $exists = $result && $result->fetchOne();
+ $sql = 'SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME = ?';
+ $result = \OC_DB::executeAudited($sql, array($table));
break;
case 'mssql':
- $sql = "SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '{$table}'";
- $query = OC_DB::prepare($sql);
- $result = $query->execute(array());
- $exists = $result && $result->fetchOne();
+ $sql = 'SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ?';
+ $result = \OC_DB::executeAudited($sql, array($table));
break;
}
- return $exists;
+
+ $name = $result->fetchOne(); //FIXME checking with '$result->numRows() === 1' does not seem to work?
+ if ($name === $table) {
+ return true;
+ } else {
+ return false;
+ }
}
public function assertTableExist($table) {
- $this->assertTrue($this->tableExist($table));
+ $this->assertTrue($this->tableExist($table), 'Table ' . $table . ' does not exist');
}
public function assertTableNotExist($table) {
$type=OC_Config::getValue( "dbtype", "sqlite" );
if( $type == 'sqlite' || $type == 'sqlite3' ) {
// sqlite removes the tables after closing the DB
- }
- else {
- $this->assertFalse($this->tableExist($table));
+ } else {
+ $this->assertFalse($this->tableExist($table), 'Table ' . $table . ' exists.');
}
}
}
diff --git a/tests/lib/files/cache/cache.php b/tests/lib/files/cache/cache.php
index f272655925b..527c1d1b2a1 100644
--- a/tests/lib/files/cache/cache.php
+++ b/tests/lib/files/cache/cache.php
@@ -348,7 +348,9 @@ class Cache extends \PHPUnit_Framework_TestCase {
}
public function tearDown() {
- $this->cache->clear();
+ if ($this->cache) {
+ $this->cache->clear();
+ }
}
public function setUp() {
diff --git a/tests/lib/files/cache/scanner.php b/tests/lib/files/cache/scanner.php
index 042bf8991f6..263ceadccc7 100644
--- a/tests/lib/files/cache/scanner.php
+++ b/tests/lib/files/cache/scanner.php
@@ -132,6 +132,7 @@ class Scanner extends \PHPUnit_Framework_TestCase {
$this->scanner->scan('');
$oldData = $this->cache->get('');
$this->storage->unlink('folder/bar.txt');
+ $this->cache->put('folder', array('mtime' => $this->storage->filemtime('folder')));
$this->scanner->scan('', \OC\Files\Cache\Scanner::SCAN_SHALLOW, \OC\Files\Cache\Scanner::REUSE_SIZE);
$newData = $this->cache->get('');
$this->assertNotEquals($oldData['etag'], $newData['etag']);
diff --git a/tests/lib/files/cache/updater.php b/tests/lib/files/cache/updater.php
index b2db27e42e0..5d7997b0544 100644
--- a/tests/lib/files/cache/updater.php
+++ b/tests/lib/files/cache/updater.php
@@ -201,11 +201,13 @@ class Updater extends \PHPUnit_Framework_TestCase {
$cachedData = $cache2->get('');
$this->assertNotEquals($substorageCachedData['etag'], $cachedData['etag']);
- $this->assertEquals($mtime, $cachedData['mtime']);
+ // rename can cause mtime change - invalid assert
+// $this->assertEquals($mtime, $cachedData['mtime']);
$cachedData = $this->cache->get('folder');
$this->assertNotEquals($folderCachedData['etag'], $cachedData['etag']);
- $this->assertEquals($mtime, $cachedData['mtime']);
+ // rename can cause mtime change - invalid assert
+// $this->assertEquals($mtime, $cachedData['mtime']);
}
public function testTouch() {
diff --git a/tests/lib/files/mount/mount.php b/tests/lib/files/mount/mount.php
new file mode 100644
index 00000000000..b057204ad35
--- /dev/null
+++ b/tests/lib/files/mount/mount.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test\Files\Mount;
+
+
+use OC\Files\Storage\Loader;
+use OC\Files\Storage\Wrapper\Wrapper;
+
+class Mount extends \PHPUnit_Framework_TestCase {
+ public function testFromStorageObject() {
+ $storage = $this->getMockBuilder('\OC\Files\Storage\Temporary')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $mount = new \OC\Files\Mount\Mount($storage, '/foo');
+ $this->assertInstanceOf('\OC\Files\Storage\Temporary', $mount->getStorage());
+ }
+
+ public function testFromStorageClassname() {
+ $mount = new \OC\Files\Mount\Mount('\OC\Files\Storage\Temporary', '/foo');
+ $this->assertInstanceOf('\OC\Files\Storage\Temporary', $mount->getStorage());
+ }
+
+ public function testWrapper() {
+ $test = $this;
+ $wrapper = function ($mountPoint, $storage) use (&$test) {
+ $test->assertEquals('/foo/', $mountPoint);
+ $test->assertInstanceOf('\OC\Files\Storage\Storage', $storage);
+ return new Wrapper(array('storage' => $storage));
+ };
+
+ $loader = new Loader();
+ $loader->addStorageWrapper($wrapper);
+
+ $storage = $this->getMockBuilder('\OC\Files\Storage\Temporary')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $mount = new \OC\Files\Mount\Mount($storage, '/foo', array(), $loader);
+ $this->assertInstanceOf('\OC\Files\Storage\Wrapper\Wrapper', $mount->getStorage());
+ }
+}
diff --git a/tests/lib/files/storage/storage.php b/tests/lib/files/storage/storage.php
index 0e22f26ae83..fb3e05e66b3 100644
--- a/tests/lib/files/storage/storage.php
+++ b/tests/lib/files/storage/storage.php
@@ -258,9 +258,21 @@ abstract class Storage extends \PHPUnit_Framework_TestCase {
$this->assertEquals(file_get_contents($textFile), $content);
}
- public function testTouchCreateFile(){
+ public function testTouchCreateFile() {
$this->assertFalse($this->instance->file_exists('foo'));
$this->instance->touch('foo');
$this->assertTrue($this->instance->file_exists('foo'));
}
+
+ public function testRecursiveRmdir() {
+ $this->instance->mkdir('folder');
+ $this->instance->mkdir('folder/bar');
+ $this->instance->file_put_contents('folder/asd.txt', 'foobar');
+ $this->instance->file_put_contents('folder/bar/foo.txt', 'asd');
+ $this->instance->rmdir('folder');
+ $this->assertFalse($this->instance->file_exists('folder/asd.txt'));
+ $this->assertFalse($this->instance->file_exists('folder/bar/foo.txt'));
+ $this->assertFalse($this->instance->file_exists('folder/bar'));
+ $this->assertFalse($this->instance->file_exists('folder'));
+ }
}
diff --git a/tests/lib/files/storage/wrapper.php b/tests/lib/files/storage/wrapper.php
new file mode 100644
index 00000000000..2794a0a6263
--- /dev/null
+++ b/tests/lib/files/storage/wrapper.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test\Files\Storage;
+
+class Wrapper extends Storage {
+ /**
+ * @var string tmpDir
+ */
+ private $tmpDir;
+
+ public function setUp() {
+ $this->tmpDir = \OC_Helper::tmpFolder();
+ $storage = new \OC\Files\Storage\Local(array('datadir' => $this->tmpDir));
+ $this->instance = new \OC\Files\Storage\Wrapper\Wrapper(array('storage' => $storage));
+ }
+
+ public function tearDown() {
+ \OC_Helper::rmdirr($this->tmpDir);
+ }
+}
diff --git a/tests/lib/files/stream/staticstream.php b/tests/lib/files/stream/staticstream.php
new file mode 100644
index 00000000000..d55086196a0
--- /dev/null
+++ b/tests/lib/files/stream/staticstream.php
@@ -0,0 +1,68 @@
+<?php
+/**
+ * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test\Files\Stream;
+
+class StaticStream extends \PHPUnit_Framework_TestCase {
+
+ private $sourceFile;
+ private $sourceText;
+
+ public function __construct() {
+ $this->sourceFile = \OC::$SERVERROOT . '/tests/data/lorem.txt';
+ $this->sourceText = file_get_contents($this->sourceFile);
+ }
+
+ public function tearDown() {
+ \OC\Files\Stream\StaticStream::clear();
+ }
+
+ public function testContent() {
+ file_put_contents('static://foo', $this->sourceText);
+ $this->assertEquals($this->sourceText, file_get_contents('static://foo'));
+ }
+
+ public function testMultipleFiles() {
+ file_put_contents('static://foo', $this->sourceText);
+ file_put_contents('static://bar', strrev($this->sourceText));
+ $this->assertEquals($this->sourceText, file_get_contents('static://foo'));
+ $this->assertEquals(strrev($this->sourceText), file_get_contents('static://bar'));
+ }
+
+ public function testOverwrite() {
+ file_put_contents('static://foo', $this->sourceText);
+ file_put_contents('static://foo', 'qwerty');
+ $this->assertEquals('qwerty', file_get_contents('static://foo'));
+ }
+
+ public function testIsFile() {
+ $this->assertFalse(is_file('static://foo'));
+ file_put_contents('static://foo', $this->sourceText);
+ $this->assertTrue(is_file('static://foo'));
+ }
+
+ public function testIsDir() {
+ $this->assertFalse(is_dir('static://foo'));
+ file_put_contents('static://foo', $this->sourceText);
+ $this->assertFalse(is_dir('static://foo'));
+ }
+
+ public function testFileType() {
+ file_put_contents('static://foo', $this->sourceText);
+ $this->assertEquals('file', filetype('static://foo'));
+ }
+
+ public function testUnlink() {
+ $this->assertFalse(file_exists('static://foo'));
+ file_put_contents('static://foo', $this->sourceText);
+ $this->assertTrue(file_exists('static://foo'));
+ unlink('static://foo');
+ clearstatcache();
+ $this->assertFalse(file_exists('static://foo'));
+ }
+}
diff --git a/tests/lib/hooks/basicemitter.php b/tests/lib/hooks/basicemitter.php
index f48dc53c563..0eae730d030 100644
--- a/tests/lib/hooks/basicemitter.php
+++ b/tests/lib/hooks/basicemitter.php
@@ -155,6 +155,8 @@ class BasicEmitter extends \PHPUnit_Framework_TestCase {
$this->emitter->listen('Test', 'test', $listener);
$this->emitter->removeListener('Test', 'test', $listener);
$this->emitter->emitEvent('Test', 'test');
+
+ $this->assertTrue(true);
}
public function testRemoveWildcardListener() {
@@ -168,6 +170,8 @@ class BasicEmitter extends \PHPUnit_Framework_TestCase {
$this->emitter->listen('Test', 'test', $listener2);
$this->emitter->removeListener('Test', 'test');
$this->emitter->emitEvent('Test', 'test');
+
+ $this->assertTrue(true);
}
public function testRemoveWildcardMethod() {
@@ -179,6 +183,8 @@ class BasicEmitter extends \PHPUnit_Framework_TestCase {
$this->emitter->removeListener('Test', null, $listener);
$this->emitter->emitEvent('Test', 'test');
$this->emitter->emitEvent('Test', 'foo');
+
+ $this->assertTrue(true);
}
public function testRemoveWildcardScope() {
@@ -190,6 +196,8 @@ class BasicEmitter extends \PHPUnit_Framework_TestCase {
$this->emitter->removeListener(null, 'test', $listener);
$this->emitter->emitEvent('Test', 'test');
$this->emitter->emitEvent('Bar', 'test');
+
+ $this->assertTrue(true);
}
public function testRemoveWildcardScopeAndMethod() {
@@ -203,6 +211,8 @@ class BasicEmitter extends \PHPUnit_Framework_TestCase {
$this->emitter->emitEvent('Test', 'test');
$this->emitter->emitEvent('Test', 'foo');
$this->emitter->emitEvent('Bar', 'foo');
+
+ $this->assertTrue(true);
}
/**
@@ -219,6 +229,8 @@ class BasicEmitter extends \PHPUnit_Framework_TestCase {
$this->emitter->listen('Test', 'test', $listener2);
$this->emitter->removeListener('Test', 'test', $listener1);
$this->emitter->emitEvent('Test', 'test');
+
+ $this->assertTrue(true);
}
/**
@@ -232,6 +244,8 @@ class BasicEmitter extends \PHPUnit_Framework_TestCase {
$this->emitter->listen('Test', 'foo', $listener);
$this->emitter->removeListener('Test', 'foo', $listener);
$this->emitter->emitEvent('Test', 'test');
+
+ $this->assertTrue(true);
}
/**
@@ -245,6 +259,8 @@ class BasicEmitter extends \PHPUnit_Framework_TestCase {
$this->emitter->listen('Bar', 'test', $listener);
$this->emitter->removeListener('Bar', 'test', $listener);
$this->emitter->emitEvent('Test', 'test');
+
+ $this->assertTrue(true);
}
/**
@@ -257,5 +273,7 @@ class BasicEmitter extends \PHPUnit_Framework_TestCase {
$this->emitter->listen('Test', 'test', $listener);
$this->emitter->removeListener('Bar', 'test', $listener);
$this->emitter->emitEvent('Test', 'test');
+
+ $this->assertTrue(true);
}
}
diff --git a/tests/lib/hooks/forwardingemitter.php b/tests/lib/hooks/forwardingemitter.php
new file mode 100644
index 00000000000..decf6bb354c
--- /dev/null
+++ b/tests/lib/hooks/forwardingemitter.php
@@ -0,0 +1,74 @@
+<?php
+/**
+ * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test\Hooks;
+use OC\Hooks\PublicEmitter;
+
+class DummyForwardingEmitter extends \OC\Hooks\ForwardingEmitter {
+ public function emitEvent($scope, $method, $arguments = array()) {
+ $this->emit($scope, $method, $arguments);
+ }
+
+ /**
+ * @param \OC\Hooks\Emitter $emitter
+ */
+ public function forward($emitter) {
+ parent::forward($emitter);
+ }
+}
+
+/**
+ * Class ForwardingEmitter
+ *
+ * allows forwarding all listen calls to other emitters
+ *
+ * @package OC\Hooks
+ */
+class ForwardingEmitter extends BasicEmitter {
+ public function testSingleForward() {
+ $baseEmitter = new PublicEmitter();
+ $forwardingEmitter = new DummyForwardingEmitter();
+ $forwardingEmitter->forward($baseEmitter);
+ $hookCalled = false;
+ $forwardingEmitter->listen('Test', 'test', function () use (&$hookCalled) {
+ $hookCalled = true;
+ });
+ $baseEmitter->emit('Test', 'test');
+ $this->assertTrue($hookCalled);
+ }
+
+ public function testMultipleForwards() {
+ $baseEmitter1 = new PublicEmitter();
+ $baseEmitter2 = new PublicEmitter();
+ $forwardingEmitter = new DummyForwardingEmitter();
+ $forwardingEmitter->forward($baseEmitter1);
+ $forwardingEmitter->forward($baseEmitter2);
+ $hookCalled = 0;
+ $forwardingEmitter->listen('Test', 'test1', function () use (&$hookCalled) {
+ $hookCalled++;
+ });
+ $forwardingEmitter->listen('Test', 'test2', function () use (&$hookCalled) {
+ $hookCalled++;
+ });
+ $baseEmitter1->emit('Test', 'test1');
+ $baseEmitter1->emit('Test', 'test2');
+ $this->assertEquals(2, $hookCalled);
+ }
+
+ public function testForwardExistingHooks() {
+ $baseEmitter = new PublicEmitter();
+ $forwardingEmitter = new DummyForwardingEmitter();
+ $hookCalled = false;
+ $forwardingEmitter->listen('Test', 'test', function () use (&$hookCalled) {
+ $hookCalled = true;
+ });
+ $forwardingEmitter->forward($baseEmitter);
+ $baseEmitter->emit('Test', 'test');
+ $this->assertTrue($hookCalled);
+ }
+}
diff --git a/tests/lib/session/session.php b/tests/lib/session/session.php
index 72dee44e7cb..9ce11274c84 100644
--- a/tests/lib/session/session.php
+++ b/tests/lib/session/session.php
@@ -44,7 +44,9 @@ abstract class Session extends \PHPUnit_Framework_TestCase {
}
public function testRemoveNonExisting() {
+ $this->assertFalse($this->instance->exists('foo'));
$this->instance->remove('foo');
+ $this->assertFalse($this->instance->exists('foo'));
}
public function testNotExistsAfterClear() {
diff --git a/tests/lib/streamwrappers.php b/tests/lib/streamwrappers.php
index c7e51ccfa48..d15b712139d 100644
--- a/tests/lib/streamwrappers.php
+++ b/tests/lib/streamwrappers.php
@@ -33,18 +33,6 @@ class Test_StreamWrappers extends PHPUnit_Framework_TestCase {
$this->assertEquals(count($items), count($result));
}
- public function testStaticStream() {
- $sourceFile = OC::$SERVERROOT . '/tests/data/lorem.txt';
- $staticFile = 'static://test';
- $this->assertFalse(file_exists($staticFile));
- file_put_contents($staticFile, file_get_contents($sourceFile));
- $this->assertTrue(file_exists($staticFile));
- $this->assertEquals(file_get_contents($sourceFile), file_get_contents($staticFile));
- unlink($staticFile);
- clearstatcache();
- $this->assertFalse(file_exists($staticFile));
- }
-
public function testCloseStream() {
//ensure all basic stream stuff works
$sourceFile = OC::$SERVERROOT . '/tests/data/lorem.txt';
diff --git a/tests/lib/util.php b/tests/lib/util.php
index 1f253825920..9742d57ac7a 100644
--- a/tests/lib/util.php
+++ b/tests/lib/util.php
@@ -37,6 +37,12 @@ class Test_Util extends PHPUnit_Framework_TestCase {
$result = OC_Util::sanitizeHTML($goodString);
$this->assertEquals("This is an harmless string.", $result);
}
+
+ function testEncodePath(){
+ $component = '/§#@test%&^ä/-child';
+ $result = OC_Util::encodePath($component);
+ $this->assertEquals("/%C2%A7%23%40test%25%26%5E%C3%A4/-child", $result);
+ }
function testGenerate_random_bytes() {
$result = strlen(OC_Util::generate_random_bytes(59));
diff --git a/tests/phpunit.xml b/tests/phpunit.xml.dist
index 510c38a3c8b..25dfc64cfeb 100644
--- a/tests/phpunit.xml
+++ b/tests/phpunit.xml.dist
@@ -15,7 +15,4 @@
</exclude>
</whitelist>
</filter>
- <listeners>
- <listener class="PHPUnit_Util_Log_JSON"></listener>
- </listeners>
</phpunit>