Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
02/11/2014 07:42:58 PM (13 years ago)
Author:
boonebgorges
Message:

Unit tests for activitymeta functions

See #4551

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/testcases/activity/functions.php

    r7576 r7853  
    116116
    117117        /**
     118         * @group activitymeta
     119         * @group bp_activity_update_meta
     120         */
     121        public function test_bp_activity_update_meta_non_numeric_id() {
     122                $this->assertFalse( bp_activity_update_meta( 'foo', 'bar', 'baz' ) );
     123        }
     124
     125        /**
     126         * @group activitymeta
     127         * @group bp_activity_update_meta
     128         */
     129        public function test_bp_activity_update_meta_with_illegal_key_characters() {
     130                $a = $this->factory->activity->create();
     131                $krazy_key = ' f!@#$%^o *(){}o?+';
     132                bp_activity_update_meta( $a, $krazy_key, 'bar' );
     133
     134                $this->assertSame( 'bar', bp_activity_get_meta( $a, 'foo' ) );
     135        }
     136
     137        /**
     138         * @group activitymeta
     139         * @group bp_activity_update_meta
     140         */
     141        public function test_bp_activity_update_meta_stripslashes() {
     142                $a = $this->factory->activity->create();
     143                $value = "This string is totally slashin\'!";
     144                bp_activity_update_meta( $a, 'foo', $value );
     145
     146                $this->assertSame( stripslashes( $value ), bp_activity_get_meta( $a, 'foo' ) );
     147        }
     148
     149        /**
     150         * @group activitymeta
     151         * @group bp_activity_update_meta
     152         */
     153        public function test_bp_activity_update_meta_false_value_deletes() {
     154                $a = $this->factory->activity->create();
     155                bp_activity_update_meta( $a, 'foo', false );
     156                $this->assertFalse( bp_activity_get_meta( $a, 'foo' ) );
     157        }
     158
     159        /**
     160         * @group activitymeta
     161         * @group bp_activity_update_meta
     162         */
     163        public function test_bp_activity_update_meta_new() {
     164                $a = $this->factory->activity->create();
     165                $this->assertFalse( bp_activity_get_meta( $a, 'foo' ), '"foo" meta should be empty for this activity item.' );
     166                $this->assertTrue( bp_activity_update_meta( $a, 'foo', 'bar' ) );
     167                $this->assertSame( 'bar', bp_activity_get_meta( $a, 'foo' ) );
     168        }
     169
     170        /**
     171         * @group activitymeta
     172         * @group bp_activity_update_meta
     173         */
     174        public function test_bp_activity_update_meta_existing() {
     175                $a = $this->factory->activity->create();
     176                bp_activity_update_meta( $a, 'foo', 'bar' );
     177                $this->assertSame( 'bar', bp_activity_get_meta( $a, 'foo' ) );
     178                $this->assertTrue( bp_activity_update_meta( $a, 'foo', 'baz' ) );
     179                $this->assertSame( 'baz', bp_activity_get_meta( $a, 'foo' ) );
     180        }
     181
     182        /**
     183         * @group activitymeta
     184         * @group bp_activity_update_meta
     185         */
     186        public function test_bp_activity_update_meta_same_value() {
     187                $a = $this->factory->activity->create();
     188                bp_activity_update_meta( $a, 'foo', 'bar' );
     189                $this->assertSame( 'bar', bp_activity_get_meta( $a, 'foo' ) );
     190                $this->assertFalse( bp_activity_update_meta( $a, 'foo', 'bar' ) );
     191                $this->assertSame( 'bar', bp_activity_get_meta( $a, 'foo' ) );
     192        }
     193
     194        /**
     195         * @group activitymeta
     196         * @group bp_activity_get_meta
     197         */
     198        public function test_bp_activity_get_meta_empty_activity_id() {
     199                $this->assertFalse( bp_activity_get_meta( 0 ) );
     200        }
     201
     202        /**
     203         * @group activitymeta
     204         * @group bp_activity_get_meta
     205         */
     206        public function test_bp_activity_get_meta_non_numeric_activity_id() {
     207                $this->assertFalse( bp_activity_get_meta( 'foo' ) );
     208        }
     209
     210        /**
     211         * @group activitymeta
     212         * @group bp_activity_get_meta
     213         */
     214        public function test_bp_activity_get_meta_with_illegal_characters() {
     215                $a = $this->factory->activity->create();
     216                bp_activity_update_meta( $a, 'foo', 'bar' );
     217
     218                $krazy_key = ' f!@#$%^o *(){}o?+';
     219                $this->assertNotEmpty( bp_activity_get_meta( $a, 'foo' ) );
     220                $this->assertSame( bp_activity_get_meta( $a, 'foo' ), bp_activity_get_meta( $a, $krazy_key ) );
     221        }
     222
     223        /**
     224         * @group activitymeta
     225         * @group bp_activity_get_meta
     226         */
     227        public function test_bp_activity_get_meta_multiple() {
     228                $a = $this->factory->activity->create();
     229                bp_activity_update_meta( $a, 'foo', 'bar' );
     230                bp_activity_update_meta( $a, 'foo1', 'bar1' );
     231
     232                $am1 = new stdClass;
     233                $am1->meta_key = 'foo';
     234                $am1->meta_value = 'bar';
     235
     236                $am2 = new stdClass;
     237                $am2->meta_key = 'foo1';
     238                $am2->meta_value = 'bar1';
     239
     240                $expected = array(
     241                        $am1,
     242                        $am2,
     243                );
     244
     245                $this->assertEquals( $expected, bp_activity_get_meta( $a ) );
     246        }
     247
     248        /**
     249         * @group bp_activity_get_meta
     250         * @group activitymeta
     251         */
     252        public function test_bp_activity_get_meta_no_results_returns_false() {
     253                $a = $this->factory->activity->create();
     254
     255                // @todo this is a quirk
     256                $this->assertFalse( bp_activity_get_meta( $a, 'foo' ) );
     257        }
     258
     259        /**
     260         * @group activitymeta
     261         * @group bp_activity_delete_meta
     262         */
     263        public function test_bp_activity_delete_meta_non_numeric_activity_id() {
     264                $this->assertFalse( bp_activity_delete_meta( 'foo', 'bar' ) );
     265        }
     266
     267        /**
     268         * @group activitymeta
     269         * @group bp_activity_delete_meta
     270         */
     271        public function test_bp_activity_delete_meta_trim_meta_value() {
     272                // @todo Wtf?
     273                $a = $this->factory->activity->create();
     274                bp_activity_update_meta( $a, 'foo', 'bar' );
     275                $this->assertTrue( bp_activity_delete_meta( $a, 'foo', ' bar ' ) );
     276                $this->assertFalse( bp_activity_get_meta( $a, 'foo' ) );
     277        }
     278
     279        /**
     280         * @group activitymeta
     281         * @group bp_activity_delete_meta
     282         */
     283        public function test_bp_activity_delete_meta_single() {
     284                $a = $this->factory->activity->create();
     285                bp_activity_update_meta( $a, 'foo', 'bar' );
     286                $this->assertTrue( bp_activity_delete_meta( $a, 'foo', 'bar' ) );
     287                $this->assertFalse( bp_activity_get_meta( $a, 'foo' ) );
     288        }
     289
     290        /**
     291         * @group activitymeta
     292         * @group bp_activity_delete_meta
     293         */
     294        public function test_bp_activity_delete_meta_all_for_activity() {
     295                $a = $this->factory->activity->create();
     296                bp_activity_update_meta( $a, 'foo', 'bar' );
     297                bp_activity_update_meta( $a, 'foo1', 'bar1' );
     298                $this->assertTrue( bp_activity_delete_meta( $a ) );
     299                $this->assertFalse( bp_activity_get_meta( $a, 'foo' ) );
     300                $this->assertFalse( bp_activity_get_meta( $a, 'foo1' ) );
     301        }
     302
     303        /**
     304         * @group activitymeta
     305         * @group bp_activity_delete_meta
     306         */
     307        public function test_bp_activity_delete_meta_with_meta_value() {
     308                $a = $this->factory->activity->create();
     309                bp_activity_update_meta( $a, 'foo', 'bar' );
     310                $this->assertTrue( bp_activity_delete_meta( $a, 'foo', 'bar' ) );
     311                $this->assertFalse( bp_activity_get_meta( $a, 'foo' ) );
     312        }
     313
     314        /**
    118315         * @group bp_activity_get_user_mentionname
    119316         */
Note: See TracChangeset for help on using the changeset viewer.