Make WordPress Core


Ignore:
Timestamp:
07/11/2017 12:53:33 AM (9 years ago)
Author:
SergeyBiryukov
Message:

Shortcodes: Allow using single quotes for empty value attributes.

Props enrico.sorcinelli.
Fixes #37304.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/shortcode.php

    r38877 r41026  
    841841                return wp_json_encode( $arr );
    842842        }
     843
     844        /**
     845         * @ticket 37304
     846         *
     847         * Test 'value' syntax for empty attributes
     848         */
     849        function test_empty_single_quote_attribute() {
     850                $out = do_shortcode( '[test-shortcode-tag a="foo" b=\'bar\' c=baz foo \'bar\' "baz" ]test empty atts[/test-shortcode-tag]' );
     851                $this->assertEquals( array( 'a' => 'foo', 'b' => 'bar', 'c' => 'baz', 0 => 'foo', 1 => 'bar', 2 => 'baz' ), $this->atts );
     852        }
     853
     854        /**
     855         * @ticket 37304
     856         */
     857        function test_positional_atts_single_quotes() {
     858                $out = do_shortcode( "[test-shortcode-tag 'something in quotes' 'something else']" );
     859                $this->assertEquals( '', $out );
     860                $this->assertEquals( array( 0 => 'something in quotes', 1 => 'something else' ), $this->atts );
     861                $this->assertEquals( 'test-shortcode-tag', $this->tagname );
     862        }
     863
     864        /**
     865         * @ticket 37304
     866         */
     867        function test_positional_atts_mixed_quotes() {
     868                $out = do_shortcode( "[test-shortcode-tag 'something in quotes' \"something else\" 123 foo bar='baz' example=\"test\" ]" );
     869                $this->assertEquals( '', $out );
     870                $this->assertEquals( array( 0 => 'something in quotes', 1 => 'something else', 2 => '123', 3 => 'foo', 'bar' => 'baz', 'example' => 'test'), $this->atts );
     871                $this->assertEquals( 'test-shortcode-tag', $this->tagname );
     872        }
    843873}
Note: See TracChangeset for help on using the changeset viewer.