WordPress.org

Make WordPress Core

Ticket #23570: 23570-tests.diff

File 23570-tests.diff, 7.9 KB (added by wonderboymusic, 9 years ago)
  • tests/post-formats.php

     
     1<?php
     2
     3/**
     4 * test wp-includes/post-formats.php
     5 *
     6 * @group post-formats
     7 */
     8class Tests_Post_Formats extends WP_UnitTestCase {
     9        /**
     10         * @ticket 23625
     11         */
     12        function test_get_content_chat() {
     13                $data =<<<DATA
     14Scott: Hey.
     15Nacin: Go away.
     16DATA;
     17
     18                $stanzas = get_content_chat( $data );
     19                $expected = array(
     20                        array(
     21                                array(
     22                                        'time' => '',
     23                                        'author' => 'Scott',
     24                                        'message' => 'Hey.'
     25                                ),
     26                                array(
     27                                        'time' => '',
     28                                        'author' => 'Nacin',
     29                                        'message' => 'Go away.'
     30                                )
     31                        )
     32                );
     33                $this->assertEquals( $stanzas, $expected );
     34
     35                $data =<<<DATA
     36Scott: Hey.
     37Nacin: Go away.
     38
     39Nacin is mean to me.
     40DATA;
     41
     42                $stanzas = get_content_chat( $data );
     43                $this->assertEquals( $stanzas, $expected );
     44
     45                $data =<<<DATA
     46Scott: Hey.
     47I have a question.
     48Nacin: Go away.
     49DATA;
     50
     51                $stanzas = get_content_chat( $data );
     52                $expected = array(
     53                        array(
     54                                array(
     55                                        'time' => '',
     56                                        'author' => 'Scott',
     57                                        'message' => 'Hey. I have a question.'
     58                                ),
     59                                array(
     60                                        'time' => '',
     61                                        'author' => 'Nacin',
     62                                        'message' => 'Go away.'
     63                                )
     64                        )
     65                );
     66
     67                $data =<<<DATA
     68Scott: Hey.
     69I have a question: what is your favorite color?
     70Nacin: Go away.
     71DATA;
     72
     73                $stanzas = get_content_chat( $data );
     74                $expected = array(
     75                        array(
     76                                array(
     77                                        'time' => '',
     78                                        'author' => 'Scott',
     79                                        'message' => 'Hey. I have a question: what is your favorite color?'
     80                                ),
     81                                array(
     82                                        'time' => '',
     83                                        'author' => 'Nacin',
     84                                        'message' => 'Go away.'
     85                                )
     86                        )
     87                );
     88                $this->assertEquals( $stanzas, $expected );
     89
     90                $data =<<<DATA
     91Scott: Hey.
     92I have a question: will you read this http://www.justinbieber.com ?
     93Nacin: Go away.
     94
     95Nacin hates Justin Bieber.
     96DATA;
     97
     98                $stanzas = get_content_chat( $data );
     99                $expected = array(
     100                        array(
     101                                array(
     102                                        'time' => '',
     103                                        'author' => 'Scott',
     104                                        'message' => 'Hey. I have a question: will you read this <a href="http://www.justinbieber.com" rel="nofollow">http://www.justinbieber.com</a> ?'
     105                                ),
     106                                array(
     107                                        'time' => '',
     108                                        'author' => 'Nacin',
     109                                        'message' => 'Go away.'
     110                                )
     111                        )
     112                );
     113                $this->assertEquals( $stanzas, $expected );
     114
     115                $data =<<<DATA
     116Scott: Hey.
     117I have a question: what is your favorite color?
     118Nacin: Go away.
     119
     120Nacin hates color.
     121DATA;
     122
     123                $stanzas = get_content_chat( $data );
     124                $expected = array(
     125                        array(
     126                                array(
     127                                        'time' => '',
     128                                        'author' => 'Scott',
     129                                        'message' => 'Hey. I have a question: what is your favorite color?'
     130                                ),
     131                                array(
     132                                        'time' => '',
     133                                        'author' => 'Nacin',
     134                                        'message' => 'Go away.'
     135                                )
     136                        )
     137                );
     138                $this->assertEquals( $stanzas, $expected );
     139
     140                $data =<<<DATA
     141Scott: Hey.
     142Nacin: Go away.
     143
     144Helen: Hey.
     145Nacin: Go away.
     146DATA;
     147
     148                $stanzas = get_content_chat( $data );
     149                $expected = array(
     150                        array(
     151                                array(
     152                                        'time' => '',
     153                                        'author' => 'Scott',
     154                                        'message' => 'Hey.'
     155                                ),
     156                                array(
     157                                        'time' => '',
     158                                        'author' => 'Nacin',
     159                                        'message' => 'Go away.'
     160                                )
     161
     162                        ),
     163                        array(
     164                                array(
     165                                        'time' => '',
     166                                        'author' => 'Helen',
     167                                        'message' => 'Hey.'
     168                                ),
     169                                array(
     170                                        'time' => '',
     171                                        'author' => 'Nacin',
     172                                        'message' => 'Go away.'
     173                                )
     174                        )
     175                );
     176                $this->assertEquals( $stanzas, $expected );
     177
     178                $data =<<<DATA
     179
     180Scott: Hey.
     181Nacin: Go away.
     182
     183Helen: Hey.
     184Nacin: Go away.
     185
     186Nacin appears busy today.
     187DATA;
     188
     189                $stanzas = get_content_chat( $data );
     190                $this->assertEquals( $stanzas, $expected );
     191
     192                $data =<<<DATA
     193Scott: Hey.
     194I have a question: what is your favorite color?
     195Nacin: Go away.
     196
     197Helen: Hey.
     198I have a question: what is your favorite pizza topping?
     199Nacin: Go away.
     200DATA;
     201
     202                $stanzas = get_content_chat( $data );
     203                $expected = array(
     204                        array(
     205                                array(
     206                                        'time' => '',
     207                                        'author' => 'Scott',
     208                                        'message' => 'Hey. I have a question: what is your favorite color?'
     209                                ),
     210                                array(
     211                                        'time' => '',
     212                                        'author' => 'Nacin',
     213                                        'message' => 'Go away.'
     214                                )
     215                        ),
     216                        array(
     217                                array(
     218                                        'time' => '',
     219                                        'author' => 'Helen',
     220                                        'message' =>  'Hey. I have a question: what is your favorite pizza topping?'
     221                                ),
     222                                array(
     223                                        'time' => '',
     224                                        'author' => 'Nacin',
     225                                        'message' => 'Go away.'
     226                                )
     227                        )
     228                );
     229                $this->assertEquals( $stanzas, $expected );
     230
     231                $data =<<<DATA
     232Scott: Hey.
     233I have a question: what is your favorite color?
     234Nacin: Go away.
     235
     236Helen: Hey.
     237I have a question: what is your favorite pizza topping?
     238Nacin: Go away.
     239
     240Nacin hates color and pizza.
     241DATA;
     242
     243                $stanzas = get_content_chat( $data );
     244                $this->assertEquals( $stanzas, $expected );
     245
     246                $data =<<<DATA
     247[3/7/13 11:19:33 AM] Helen Hou-Sandi: I like Apples.
     248[3/7/13 11:29:31 AM] Scott Taylor: word
     249DATA;
     250
     251                $expected = array(
     252                        array(
     253                                array(
     254                                        'time' => '[3/7/13 11:19:33 AM]',
     255                                        'author' => 'Helen Hou-Sandi',
     256                                        'message' => 'I like Apples.'
     257                                ),
     258                                array(
     259                                        'time' => '[3/7/13 11:29:31 AM]',
     260                                        'author' => 'Scott Taylor',
     261                                        'message' => 'word'
     262                                ),
     263                        )
     264                );
     265
     266                $stanzas = get_content_chat( $data );
     267                $this->assertEquals( $stanzas, $expected );
     268
     269                $data =<<<DATA
     270[3/5/13 2:30:09 PM] Scott Taylor: https://github.com/johndyer/mediaelement
     271[3/5/13 2:30:15 PM] Scott Taylor: MIT
     272[3/5/13 2:31:13 PM] Andrew Nacin: https://github.com/johndyer/mediaelement/issues?labels=Wordpress
     273DATA;
     274
     275                $expected = array(
     276                        array(
     277                                array(
     278                                        'time' => '[3/5/13 2:30:09 PM]',
     279                                        'author' => 'Scott Taylor',
     280                                        'message' => '<a href="https://github.com/johndyer/mediaelement" rel="nofollow">https://github.com/johndyer/mediaelement</a>'
     281                                ),
     282                                array(
     283                                        'time' => '[3/5/13 2:30:15 PM]',
     284                                        'author' => 'Scott Taylor',
     285                                        'message' => 'MIT'
     286                                ),
     287                                array(
     288                                        'time' => '[3/5/13 2:31:13 PM]',
     289                                        'author' => 'Andrew Nacin',
     290                                        'message' => '<a href="https://github.com/johndyer/mediaelement/issues?labels=Wordpress" rel="nofollow">https://github.com/johndyer/mediaelement/issues?labels=Wordpress</a>'
     291                                ),
     292                        )
     293                );
     294
     295                $stanzas = get_content_chat( $data );
     296                $this->assertEquals( $stanzas, $expected );
     297        }
     298        /**
     299         * @ticket 23570
     300         */
     301        function test_get_content_link() {
     302                $link = 'http://nytimes.com';
     303                $commentary = 'This is my favorite link';
     304                $link_with_commentary =<<<DATA
     305$link
     306
     307$commentary
     308DATA;
     309
     310                $link_post_id = $this->factory->post->create( array( 'post_content' => $link ) );
     311                $content_link = get_content_link( get_post_field( 'post_content', $link_post_id ) );
     312                $this->assertEquals( $content_link, $link );
     313
     314                $link_with_post_id = $this->factory->post->create( array( 'post_content' => $link_with_commentary ) );
     315                $content_link = get_content_link( get_post_field( 'post_content', $link_with_post_id ) );
     316                $this->assertEquals( $content_link, $link );
     317
     318                update_post_meta( $link_post_id, '_wp_format_url', $link );
     319                $content_link = get_content_link( get_post_field( 'post_content', $link_post_id ) );
     320                $this->assertEquals( $content_link, $link );
     321
     322                update_post_meta( $link_with_post_id, '_wp_format_url', $link );
     323                $content_link = get_content_link( get_post_field( 'post_content', $link_with_post_id ) );
     324                $this->assertEquals( $content_link, $link );
     325
     326                $empty_post_id = $this->factory->post->create( array( 'post_content' => '' ) );
     327                update_post_meta( $empty_post_id, '_wp_format_url', $link );
     328                $content_link = get_content_link( get_post_field( 'post_content', $empty_post_id ) );
     329                $this->assertEquals( $content_link, '' );
     330
     331                $comm_post_id = $this->factory->post->create( array( 'post_content' => $commentary ) );
     332                update_post_meta( $comm_post_id, '_wp_format_url', $link );
     333                $content_link = get_content_link( get_post_field( 'post_content', $comm_post_id ) );
     334                $this->assertEquals( $content_link, '' );
     335        }
     336}
     337 No newline at end of file