123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- <?php
- /**
- * @group formatting
- */
- class Tests_Formatting_SanitizeTextField extends WP_UnitTestCase {
- function data_sanitize_text_field() {
- return array(
- array(
- 'оРангутанг', // Ensure UTF-8 text is safe. The Р is D0 A0 and A0 is the non-breaking space.
- 'оРангутанг',
- ),
- array(
- 'САПР', // Ensure UTF-8 text is safe. the Р is D0 A0 and A0 is the non-breaking space.
- 'САПР',
- ),
- array(
- 'one is < two',
- 'one is < two',
- ),
- array(
- "one is <\n two",
- array(
- 'oneline' => 'one is < two',
- 'multiline' => "one is <\n two",
- ),
- ),
- array(
- "foo <div\n> bar",
- array(
- 'oneline' => 'foo bar',
- 'multiline' => 'foo bar',
- ),
- ),
- array(
- "foo <\ndiv\n> bar",
- array(
- 'oneline' => 'foo < div > bar',
- 'multiline' => "foo <\ndiv\n> bar",
- ),
- ),
- array(
- 'tags <span>are</span> <em>not allowed</em> here',
- 'tags are not allowed here',
- ),
- array(
- ' we should trim leading and trailing whitespace ',
- 'we should trim leading and trailing whitespace',
- ),
- array(
- 'we trim extra internal whitespace only in single line texts',
- array(
- 'oneline' => 'we trim extra internal whitespace only in single line texts',
- 'multiline' => 'we trim extra internal whitespace only in single line texts',
- ),
- ),
- array(
- "tabs \tget removed in single line texts",
- array(
- 'oneline' => 'tabs get removed in single line texts',
- 'multiline' => "tabs \tget removed in single line texts",
- ),
- ),
- array(
- "newlines are allowed only\n in multiline texts",
- array(
- 'oneline' => 'newlines are allowed only in multiline texts',
- 'multiline' => "newlines are allowed only\n in multiline texts",
- ),
- ),
- array(
- 'We also %AB remove %ab octets',
- 'We also remove octets',
- ),
- array(
- 'We don\'t need to wory about %A
- B removing %a
- b octets even when %a B they are obscured by whitespace',
- array(
- 'oneline' => 'We don\'t need to wory about %A B removing %a b octets even when %a B they are obscured by whitespace',
- 'multiline' => "We don't need to wory about %A\n B removing %a\n b octets even when %a B they are obscured by whitespace",
- ),
- ),
- array(
- '%AB%BC%DE', // Just octets.
- '', // Emtpy as we strip all the octets out.
- ),
- array(
- 'Invalid octects remain %II',
- 'Invalid octects remain %II',
- ),
- array(
- 'Nested octects %%%ABABAB %A%A%ABBB',
- 'Nested octects',
- ),
- array(
- array(),
- '',
- ),
- array(
- array( 1, 2, 'foo' ),
- '',
- ),
- array(
- new WP_Query,
- '',
- ),
- array(
- 2,
- '2',
- ),
- array(
- false,
- '',
- ),
- array(
- true,
- '1',
- ),
- array(
- 10.1,
- '10.1',
- ),
- );
- }
- /**
- * @ticket 32257
- * @dataProvider data_sanitize_text_field
- */
- function test_sanitize_text_field( $string, $expected ) {
- if ( is_array( $expected ) ) {
- $expected_oneline = $expected['oneline'];
- $expected_multiline = $expected['multiline'];
- } else {
- $expected_oneline = $expected;
- $expected_multiline = $expected;
- }
- $this->assertSame( $expected_oneline, sanitize_text_field( $string ) );
- $this->assertSameIgnoreEOL( $expected_multiline, sanitize_textarea_field( $string ) );
- }
- }
|