|
@@ 627-635 (lines=9) @@
|
| 624 |
|
* |
| 625 |
|
* @author tonykova |
| 626 |
|
*/ |
| 627 |
|
public function test_parse_contact_field_keeps_string_unchanged_when_no_escaping_necesssary() { |
| 628 |
|
add_shortcode( 'contact-field', array( 'Grunion_Contact_Form', 'parse_contact_field' ) ); |
| 629 |
|
|
| 630 |
|
// @phpcs:ignore Squiz.Strings.DoubleQuoteUsage.NotRequired |
| 631 |
|
$shortcode = "[contact-field label=\"Name\" type=\"name\" required=\"1\"/][contact-field label=\"Email\" type=\"email\" required=\"1\"/][contact-field label=\"asdasd\" type=\"text\"/][contact-field id=\"1\" required derp herp asd lkj]adsasd[/contact-field]"; |
| 632 |
|
$html = do_shortcode( $shortcode ); |
| 633 |
|
|
| 634 |
|
$this->assertEquals( $shortcode, $html ); |
| 635 |
|
} |
| 636 |
|
|
| 637 |
|
/** |
| 638 |
|
* Tests that the default label is added when no label is present. |
|
@@ 640-646 (lines=7) @@
|
| 637 |
|
/** |
| 638 |
|
* Tests that the default label is added when no label is present. |
| 639 |
|
*/ |
| 640 |
|
public function test_make_sure_that_we_add_default_label_when_non_is_present() { |
| 641 |
|
add_shortcode( 'contact-field', array( 'Grunion_Contact_Form', 'parse_contact_field' ) ); |
| 642 |
|
$shortcode = "[contact-field type='name' required='1' /]"; |
| 643 |
|
$html = do_shortcode( $shortcode ); |
| 644 |
|
// @phpcs:ignore Squiz.Strings.DoubleQuoteUsage.NotRequired |
| 645 |
|
$this->assertEquals( "[contact-field type=\"name\" required=\"1\" label=\"Name\"/]", $html ); |
| 646 |
|
} |
| 647 |
|
|
| 648 |
|
/** |
| 649 |
|
* Tests the empty options are removed from form fields. |
|
@@ 651-657 (lines=7) @@
|
| 648 |
|
/** |
| 649 |
|
* Tests the empty options are removed from form fields. |
| 650 |
|
*/ |
| 651 |
|
public function test_make_sure_that_we_remove_empty_options_from_form_field() { |
| 652 |
|
add_shortcode( 'contact-field', array( 'Grunion_Contact_Form', 'parse_contact_field' ) ); |
| 653 |
|
$shortcode = "[contact-field type='select' required='1' options='fun,,run' label='fun times' values='go,,have some fun'/]"; |
| 654 |
|
$html = do_shortcode( $shortcode ); |
| 655 |
|
// @phpcs:ignore Squiz.Strings.DoubleQuoteUsage.NotRequired |
| 656 |
|
$this->assertEquals( "[contact-field type=\"select\" required=\"1\" options=\"fun,run\" label=\"fun times\" values=\"go,have some fun\"/]", $html ); |
| 657 |
|
} |
| 658 |
|
|
| 659 |
|
/** |
| 660 |
|
* Tests shortcode with commas and brackets. |
|
@@ 664-669 (lines=6) @@
|
| 661 |
|
* |
| 662 |
|
* @covers Grunion_Contact_Form_Field |
| 663 |
|
*/ |
| 664 |
|
public function test_array_values_with_commas_and_brackets() { |
| 665 |
|
add_shortcode( 'contact-field', array( 'Grunion_Contact_Form', 'parse_contact_field' ) ); |
| 666 |
|
$shortcode = "[contact-field type='radio' options='\"foo\",bar, baz,[b\rackets]' label='fun ][ times'/]"; |
| 667 |
|
$html = do_shortcode( $shortcode ); |
| 668 |
|
$this->assertEquals( '[contact-field type="radio" options=""foo",bar, baz,[b\rackets]" label="fun ][ times"/]', $html ); |
| 669 |
|
} |
| 670 |
|
|
| 671 |
|
/** |
| 672 |
|
* Tests Gutenblock input with commas and brackets. |
|
@@ 1115-1126 (lines=12) @@
|
| 1112 |
|
* |
| 1113 |
|
* @author tonykova |
| 1114 |
|
*/ |
| 1115 |
|
public function test_parse_contact_field_escapes_things_inside_a_value_and_attribute_and_the_content() { |
| 1116 |
|
add_shortcode( 'contact-field', array( 'Grunion_Contact_Form', 'parse_contact_field' ) ); |
| 1117 |
|
|
| 1118 |
|
$shortcode = "[contact-field label='Name' type='name' required='1'/][contact-field label='Email' type=''email'' req'uired='1'/][contact-field label='asdasd' type='text'/][contact-field id='1' required 'derp' herp asd lkj]adsasd[/contact-field]"; |
| 1119 |
|
$html = do_shortcode( $shortcode ); |
| 1120 |
|
|
| 1121 |
|
/* |
| 1122 |
|
* The expected string has some quotes escaped, since we want to make |
| 1123 |
|
* sure we don't output anything harmful |
| 1124 |
|
*/ |
| 1125 |
|
$this->assertEquals( '[contact-field label="Name" type="name" required="1"/][contact-field label="Email" type=''email'' req'uired='1'/][contact-field label="asdasd" type="text"/][contact-field id="1" required derp herp asd lkj]adsasd[/contact-field]', $html ); |
| 1126 |
|
} |
| 1127 |
|
|
| 1128 |
|
/** |
| 1129 |
|
* Test get_export_data_for_posts with fully vaid data input. |