summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2019-11-26 12:25:36 +0100
committerGitHub <noreply@github.com>2019-11-26 12:25:36 +0100
commitb607e3e6f41853600dd90820e82ceab5859c13c5 (patch)
tree0382be10cccbb44ac669ed53aeb21acc7a806560 /tests
parente3bee2cb782b4897e4822c909d1dbbf2637f7b65 (diff)
parenta27c10daa66a38c453393fcaf0c545d60f041f30 (diff)
downloadnextcloud-server-b607e3e6f41853600dd90820e82ceab5859c13c5.tar.gz
nextcloud-server-b607e3e6f41853600dd90820e82ceab5859c13c5.zip
Merge pull request #17948 from nextcloud/enh/check-if-property-is-bool
Make isXXX available for bool properties only
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/AppFramework/Db/EntityTest.php43
1 files changed, 35 insertions, 8 deletions
diff --git a/tests/lib/AppFramework/Db/EntityTest.php b/tests/lib/AppFramework/Db/EntityTest.php
index fd075a9300d..a49440949e3 100644
--- a/tests/lib/AppFramework/Db/EntityTest.php
+++ b/tests/lib/AppFramework/Db/EntityTest.php
@@ -25,6 +25,7 @@ namespace Test\AppFramework\Db;
use OCP\AppFramework\Db\Entity;
+use PHPUnit\Framework\Constraint\IsType;
/**
* @method integer getId()
@@ -37,18 +38,28 @@ use OCP\AppFramework\Db\Entity;
* @method void setEmail(string $email)
* @method string getPreName()
* @method void setPreName(string $preName)
+ * @method bool getTrueOrFalse()
+ * @method bool isTrueOrFalse()
+ * @method void setTrueOrFalse(bool $trueOrFalse)
+ * @method bool getAnotherBool()
+ * @method bool isAnotherBool()
+ * @method void setAnotherBool(bool $anotherBool)
*/
class TestEntity extends Entity {
protected $name;
protected $email;
protected $testId;
protected $preName;
+ protected $trueOrFalse;
+ protected $anotherBool;
- public function __construct($name=null){
+ public function __construct($name = null) {
$this->addType('testId', 'integer');
+ $this->addType('trueOrFalse', 'bool');
+ $this->addType('anotherBool', 'boolean');
$this->name = $name;
}
-};
+}
class EntityTest extends \Test\TestCase {
@@ -72,7 +83,7 @@ class EntityTest extends \Test\TestCase {
public function testFromRow(){
$row = array(
- 'pre_name' => 'john',
+ 'pre_name' => 'john',
'email' => 'john@something.com'
);
$this->entity = TestEntity::fromRow($row);
@@ -92,21 +103,21 @@ class EntityTest extends \Test\TestCase {
public function testColumnToPropertyNoReplacement(){
$column = 'my';
- $this->assertEquals('my',
+ $this->assertEquals('my',
$this->entity->columnToProperty($column));
}
public function testColumnToProperty(){
$column = 'my_attribute';
- $this->assertEquals('myAttribute',
+ $this->assertEquals('myAttribute',
$this->entity->columnToProperty($column));
}
public function testPropertyToColumnNoReplacement(){
$property = 'my';
- $this->assertEquals('my',
+ $this->assertEquals('my',
$this->entity->propertyToColumn($property));
}
@@ -136,7 +147,6 @@ class EntityTest extends \Test\TestCase {
/**
* @expectedException \BadFunctionCallException
*/
-
public function testSetterShouldFailIfAttributeNotDefined(){
$this->entity->setTest();
}
@@ -207,7 +217,9 @@ class EntityTest extends \Test\TestCase {
$entity = new TestEntity();
$this->assertEquals(array(
'id' => 'integer',
- 'testId' => 'integer'
+ 'testId' => 'integer',
+ 'trueOrFalse' => 'bool',
+ 'anotherBool' => 'boolean',
), $entity->getFieldTypes());
}
@@ -225,5 +237,20 @@ class EntityTest extends \Test\TestCase {
$this->assertEquals(0, count($entity->getUpdatedFields()));
}
+ public function testIsGetter() {
+ $entity = new TestEntity();
+ $entity->setTrueOrFalse(false);
+ $entity->setAnotherBool(false);
+ $this->assertThat($entity->isTrueOrFalse(), new IsType(IsType::TYPE_BOOL));
+ $this->assertThat($entity->isAnotherBool(), new IsType(IsType::TYPE_BOOL));
+ }
+ /**
+ * @expectedException BadFunctionCallException
+ */
+ public function testIsGetterShoudFailForOtherType() {
+ $entity = new TestEntity();
+ $entity->setName('hello');
+ $this->assertThat($entity->isName(), new IsType(IsType::TYPE_BOOL));
+ }
}