Skip to:
Content

bbPress.org

Changeset 5811


Ignore:
Timestamp:
07/11/2015 05:12:02 AM (10 years ago)
Author:
netweb
Message:

Topics: Fix bbp_get_topic_post_date() default GMT date format copy pasta introduced in r4647, includes unit tests.

Props tobyhawkins. Fixes #2697

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/src/includes/topics/template.php

    r5802 r5811  
    815815        // 4 days, 4 hours ago
    816816        if ( ! empty( $humanize ) ) {
    817             $gmt_s  = ! empty( $gmt ) ? 'U' : 'G';
     817            $gmt_s  = ! empty( $gmt ) ? 'G' : 'U';
    818818            $date   = get_post_time( $gmt_s, $gmt, $topic_id );
    819819            $time   = false; // For filter below
  • TabularUnified trunk/tests/phpunit/testcases/replies/template/reply.php

    r5759 r5811  
    107107     * @covers ::bbp_reply_post_date
    108108     * @covers ::bbp_get_reply_post_date
    109      * @todo   Implement test_bbp_get_reply_post_date().
    110109     */
    111110    public function test_bbp_get_reply_post_date() {
    112         // Remove the following lines when you implement this test.
    113         $this->markTestIncomplete(
    114             'This test has not been implemented yet.'
    115         );
     111        $f = $this->factory->forum->create();
     112
     113        $t = $this->factory->topic->create( array(
     114            'post_parent' => $f,
     115            'topic_meta' => array(
     116                'forum_id' => $f,
     117            ),
     118        ) );
     119
     120        $now = time();
     121        $post_date = date( 'Y-m-d H:i:s', $now - 60*66 );
     122
     123        $r = $this->factory->reply->create( array(
     124            'post_parent' => $t,
     125            'post_date' => $post_date,
     126            'reply_meta' => array(
     127                'forum_id' => $f,
     128                'topic_id' => $t,
     129            ),
     130        ) );
     131
     132        // Configue our written date time, August 4, 2012 at 2:37 pm.
     133        $gmt = false;
     134        $date   = get_post_time( get_option( 'date_format' ), $gmt, $r, true );
     135        $time   = get_post_time( get_option( 'time_format' ), $gmt, $r, true );
     136        $result = sprintf( '%1$s at %2$s', $date, $time );
     137
     138        // Output, string, August 4, 2012 at 2:37 pm.
     139        $this->expectOutputString( $result );
     140        bbp_reply_post_date( $r );
     141
     142        // String, August 4, 2012 at 2:37 pm.
     143        $datetime = bbp_get_topic_post_date( $r, false, false );
     144        $this->assertSame( $result, $datetime );
     145
     146        // Humanized string, 4 days, 4 hours ago.
     147        $datetime = bbp_get_topic_post_date( $r, true, false );
     148        $this->assertSame( '1 hour, 6 minutes ago', $datetime );
     149
     150        // Humanized string using GMT formatted date, 4 days, 4 hours ago.
     151        $datetime = bbp_get_topic_post_date( $r, true, true );
     152        $this->assertSame( '1 hour, 6 minutes ago', $datetime );
    116153    }
    117154
  • TabularUnified trunk/tests/phpunit/testcases/topics/template/topic.php

    r5753 r5811  
    11<?php
    2 
    32/**
    43 * Tests for the topics component topic template functions.
     
    107106     * @covers ::bbp_topic_post_date
    108107     * @covers ::bbp_get_topic_post_date
    109      * @todo   Implement test_bbp_get_topic_post_date().
    110108     */
    111109    public function test_bbp_get_topic_post_date() {
    112         // Remove the following lines when you implement this test.
    113         $this->markTestIncomplete(
    114             'This test has not been implemented yet.'
    115         );
     110        $f = $this->factory->forum->create();
     111
     112        $now = time();
     113        $post_date = date( 'Y-m-d H:i:s', $now - 60*60*100 );
     114
     115        $t = $this->factory->topic->create( array(
     116            'post_parent' => $f,
     117            'post_date' => $post_date,
     118            'topic_meta' => array(
     119                'forum_id' => $f,
     120            ),
     121        ) );
     122
     123        // Configue our written date time, August 4, 2012 at 2:37 pm.
     124        $gmt = false;
     125        $date   = get_post_time( get_option( 'date_format' ), $gmt, $t, true );
     126        $time   = get_post_time( get_option( 'time_format' ), $gmt, $t, true );
     127        $result = sprintf( '%1$s at %2$s', $date, $time );
     128
     129        // Output, string, August 4, 2012 at 2:37 pm.
     130        $this->expectOutputString( $result );
     131        bbp_topic_post_date( $t );
     132
     133        // String, August 4, 2012 at 2:37 pm.
     134        $datetime = bbp_get_topic_post_date( $t, false, false );
     135        $this->assertSame( $result, $datetime );
     136
     137        // Humanized string, 4 days, 4 hours ago.
     138        $datetime = bbp_get_topic_post_date( $t, true, false );
     139        $this->assertSame( '4 days, 4 hours ago', $datetime );
     140
     141        // Humanized string using GMT formatted date, 4 days, 4 hours ago.
     142        $datetime = bbp_get_topic_post_date( $t, true, true );
     143        $this->assertSame( '4 days, 4 hours ago', $datetime );
    116144    }
    117145
Note: See TracChangeset for help on using the changeset viewer.