aboutsummaryrefslogtreecommitdiff
path: root/engine/tests
diff options
context:
space:
mode:
authorcash <cash.costello@gmail.com>2013-03-30 12:04:19 -0400
committercash <cash.costello@gmail.com>2013-03-30 12:04:19 -0400
commitcb8a932702a66a8d8ec69982441e71bde8fd1b5c (patch)
treebc64124e9fa6675ab509a88b2a2275eff7028446 /engine/tests
parentd167a3b62afd6c07cf6c9257c49d5dd77958a58e (diff)
downloadelgg-cb8a932702a66a8d8ec69982441e71bde8fd1b5c.tar.gz
elgg-cb8a932702a66a8d8ec69982441e71bde8fd1b5c.tar.bz2
Fixes #4867 handling boolean false values as metadata pair value
Diffstat (limited to 'engine/tests')
-rw-r--r--engine/tests/api/metadata.php14
1 files changed, 14 insertions, 0 deletions
diff --git a/engine/tests/api/metadata.php b/engine/tests/api/metadata.php
index 825290d80..0862341c1 100644
--- a/engine/tests/api/metadata.php
+++ b/engine/tests/api/metadata.php
@@ -123,6 +123,20 @@ class ElggCoreMetadataAPITest extends ElggCoreUnitTest {
$e->delete();
}
+ /**
+ * https://github.com/Elgg/Elgg/issues/4867
+ */
+ public function testElggGetEntityMetadataWhereSqlWithFalseValue() {
+ $pair = array('name' => 'test' , 'value' => false);
+ $result = elgg_get_entity_metadata_where_sql('e', 'metadata', null, null, $pair);
+ $where = preg_replace( '/\s+/', ' ', $result['wheres'][0]);
+ $this->assertTrue(strpos($where, "msn1.string = 'test' AND BINARY msv1.string = 0") > 0);
+
+ $result = elgg_get_entity_metadata_where_sql('e', 'metadata', array('test'), array(false));
+ $where = preg_replace( '/\s+/', ' ', $result['wheres'][0]);
+ $this->assertTrue(strpos($where, "msn.string IN ('test')) AND ( BINARY msv.string IN ('0')"));
+ }
+
// Make sure metadata with multiple values is correctly deleted when re-written
// by another user
// http://trac.elgg.org/ticket/2776