Skip to:
Content

BuddyPress.org

Ticket #6069: 6069.unittests.patch

File 6069.unittests.patch, 1.9 KB (added by imath, 7 years ago)
  • tests/phpunit/testcases/core/avatars.php

    diff --git tests/phpunit/testcases/core/avatars.php tests/phpunit/testcases/core/avatars.php
    index cebf718..124fa46 100644
    class BP_Tests_Avatars extends BP_UnitTestCase { 
    178178
    179179                $this->assertEquals( $html, $expected_html );
    180180        }
     181
     182        /**
     183         * @group bp_core_fetch_avatar
     184         */
     185        public function test_bp_core_fetch_avatar_class_attribute() {
     186                $u = $this->factory->user->create();
     187
     188                $hw = 100;
     189                $args = array(
     190                        'item_id'    => $u,
     191                        'object'     => 'user',
     192                        'type'       => 'full',
     193                        'width'      => $hw,
     194                        'height'     => $hw,
     195                        'class'      => '',
     196                        'no_grav'    => true,
     197                        'html'       => true,
     198                );
     199
     200                // Class attribute is empty
     201                $avatar = bp_core_fetch_avatar( $args );
     202                $expected = array( 'avatar', 'user-' . $u . '-avatar', 'avatar-' . $hw );
     203                preg_match( '/class=["\']?([^"\']*)["\' ]/is', $avatar, $matches );
     204                $classes = explode( ' ', $matches[1] );
     205                $this->assertSame( $expected, array_intersect_key( $expected, $classes ) );
     206
     207                // Class attribute is a String
     208                $args['class'] = 'custom-class class-custom';
     209                $avatar = bp_core_fetch_avatar( $args );
     210                $expected = array_merge( explode( ' ', $args['class'] ), array( 'user-' . $u . '-avatar', 'avatar-' . $hw ) );
     211                preg_match( '/class=["\']?([^"\']*)["\' ]/is', $avatar, $matches );
     212                $classes = explode( ' ', $matches[1] );
     213                $this->assertSame( $expected, array_intersect_key( $expected, $classes ) );
     214
     215                // Class attribute is an Array
     216                $args['class'] = array( 'custom-class', 'class-custom' );
     217                $avatar = bp_core_fetch_avatar( $args );
     218                $expected = array_merge( $args['class'], array( 'user-' . $u . '-avatar', 'avatar-' . $hw ) );
     219                preg_match( '/class=["\']?([^"\']*)["\' ]/is', $avatar, $matches );
     220                $classes = explode( ' ', $matches[1] );
     221                $this->assertSame( $expected, array_intersect_key( $expected, $classes ) );
     222        }
    181223}