WordPress.org

Make WordPress Core

Ticket #39069: maybe-unserialize.php.patch

File maybe-unserialize.php.patch, 1.6 KB (added by pbearne, 5 years ago)
  • tests/phpunit/tests/functions/maybe-unserialize.php

     
     1<?php
     2
     3/**
     4 * @group functions.php
     5 * @covers maybe_unserialize
     6 */
     7class Tests_Functions_maybe_unserialize extends WP_UnitTestCase {
     8        public function data_maybe_unserialize() {
     9                global $wp;
     10
     11                return array(
     12                        array( 'a string', serialize( 'a string' ), 'pass a serialized string' ),
     13                        array( 'a string', 'a string', 'pass a string' ),
     14                        array(
     15                                array(
     16                                        'start' => 1454803200,
     17                                        'end'   => 1455407999,
     18                                ),
     19                                serialize( array(
     20                                        'start' => 1454803200,
     21                                        'end'   => 1455407999,
     22                                ) ),
     23                                'pass serialized array',
     24                        ),
     25                        array(
     26                                array(
     27                                        'start' => 1454803200,
     28                                        'end'   => 1455407999,
     29                                ),
     30                                array(
     31                                        'start' => 1454803200,
     32                                        'end'   => 1455407999,
     33                                ),
     34                                'pass array',
     35                        ),
     36                        array( $wp, serialize( $wp ), 'pass a serialized object' ),
     37                        array( $wp, $wp, 'pass a object' ),
     38                        array( true, serialize( true ), 'pass a serialized bool' ),
     39                        array( true, true, 'pass a bool' ),
     40                        array( 99, serialize( 99 ), 'pass a serialized int' ),
     41                        array( 99, 99, 'pass a int' )
     42
     43                );
     44
     45        }
     46
     47        /**
     48         * @dataProvider data_maybe_unserialize
     49         *
     50         * @param $expected
     51         * @param $data
     52         * @param $message
     53         */
     54        public function test_maybe_unserialize_pass_serialized( $expected, $data, $message ) {
     55                $this->assertEquals( $expected, maybe_unserialize( $data ), $message );
     56        }
     57}