Changeset 5880
- Timestamp:
- 07/24/2015 11:21:28 AM (8 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/includes/replies/functions.php
r5866 r5880 973 973 } 974 974 975 // Only update if reply is published 976 if ( bbp_is_reply_published( $reply_id ) ) { 977 bbp_update_topic_last_active_time( $ancestor, $topic_last_active_time ); 978 } 975 // Update the topic last active time regardless of reply status. 976 // See https://bbpress.trac.wordpress.org/ticket/2838 977 bbp_update_topic_last_active_time( $ancestor, $topic_last_active_time ); 979 978 980 979 // Counts -
trunk/tests/phpunit/testcases/forums/template/forum.php
r5865 r5880 108 108 'post_parent' => $f, 109 109 'post_date' => $post_date, 110 ) ); 111 112 bbp_update_forum( array( 113 'forum_id' => $f, 110 'topic_meta' => array( 111 'forum_id' => $f, 112 ), 114 113 ) ); 115 114 116 115 $fresh_link = bbp_get_forum_freshness_link( $f ); 117 $this->assertSame( '<a href="http://example.org/?topic=topic-1" title="Topic 1">4 days, 4 hours ago</a>', $fresh_link ); 116 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1" title="Topic 1">4 days, 4 hours ago</a>', $fresh_link ); 117 } 118 119 /** 120 * @covers ::bbp_get_forum_freshness_link 121 */ 122 public function test_bbp_get_forum_freshness_link_with_unpublished_replies() { 123 124 if ( is_multisite() ) { 125 $this->markTestSkipped( 'Skipping URL tests in multiste for now.' ); 126 } 127 128 $now = time(); 129 $post_date_t1 = date( 'Y-m-d H:i:s', $now - 60 * 60 * 18 ); // 18 hours ago 130 $post_date_t2 = date( 'Y-m-d H:i:s', $now - 60 * 60 * 16 ); // 16 hours ago 131 $post_date_t3 = date( 'Y-m-d H:i:s', $now - 60 * 60 * 14 ); // 14 hours ago 132 $post_date_t4 = date( 'Y-m-d H:i:s', $now - 60 * 60 * 12 ); // 12 hours ago 133 $post_date_t5 = date( 'Y-m-d H:i:s', $now - 60 * 60 * 10 ); // 1o hours ago 134 135 $f = $this->factory->forum->create(); 136 137 $link = bbp_get_forum_freshness_link( $f ); 138 $this->assertSame( 'No Topics', $link ); 139 140 $t1 = $this->factory->topic->create( array( 141 'post_parent' => $f, 142 'post_date' => $post_date_t1, 143 'topic_meta' => array( 144 'forum_id' => $f, 145 ), 146 ) ); 147 148 $link = bbp_get_forum_freshness_link( $f ); 149 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1" title="Topic 1">18 hours ago</a>', $link ); 150 151 $t2 = $this->factory->topic->create( array( 152 'post_parent' => $f, 153 'post_date' => $post_date_t2, 154 'topic_meta' => array( 155 'forum_id' => $f, 156 ), 157 ) ); 158 159 $link = bbp_get_forum_freshness_link( $f ); 160 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-2" title="Topic 2">16 hours ago</a>', $link ); 161 162 bbp_spam_topic( $t2 ); 163 164 $link = bbp_get_forum_freshness_link( $f ); 165 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1" title="Topic 1">18 hours ago</a>', $link ); 166 167 $t3 = $this->factory->topic->create( array( 168 'post_parent' => $f, 169 'post_date' => $post_date_t3, 170 'topic_meta' => array( 171 'forum_id' => $f, 172 ), 173 ) ); 174 175 $link = bbp_get_forum_freshness_link( $f ); 176 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-3" title="Topic 3">14 hours ago</a>', $link ); 177 178 // Todo: Use bbp_trash_topic() and not wp_trash_post() 179 wp_trash_post( $t3 ); 180 181 $link = bbp_get_forum_freshness_link( $f ); 182 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1" title="Topic 1">18 hours ago</a>', $link ); 183 184 $t4 = $this->factory->topic->create( array( 185 'post_parent' => $f, 186 'post_date' => $post_date_t4, 187 'topic_meta' => array( 188 'forum_id' => $f, 189 ), 190 ) ); 191 192 $link = bbp_get_forum_freshness_link( $f ); 193 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-4" title="Topic 4">12 hours ago</a>', $link ); 194 195 bbp_unapprove_topic( $t4 ); 196 197 $link = bbp_get_forum_freshness_link( $f ); 198 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1" title="Topic 1">18 hours ago</a>', $link ); 199 200 bbp_unspam_topic( $t2 ); 201 202 $link = bbp_get_forum_freshness_link( $f ); 203 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-2" title="Topic 2">16 hours ago</a>', $link ); 204 205 // Todo: Use bbp_untrash_topic() and not wp_untrash_post() 206 wp_untrash_post( $t3 ); 207 208 $link = bbp_get_forum_freshness_link( $f ); 209 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-3" title="Topic 3">14 hours ago</a>', $link ); 210 211 bbp_approve_topic( $t4 ); 212 213 $link = bbp_get_forum_freshness_link( $f ); 214 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-4" title="Topic 4">12 hours ago</a>', $link ); 215 216 $t5 = $this->factory->topic->create( array( 217 'post_parent' => $f, 218 'post_date' => $post_date_t5, 219 'topic_meta' => array( 220 'forum_id' => $f, 221 ), 222 ) ); 223 224 $link = bbp_get_forum_freshness_link( $f ); 225 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-5" title="Topic 5">10 hours ago</a>', $link ); 118 226 } 119 227 -
trunk/tests/phpunit/testcases/topics/template/links.php
r5878 r5880 59 59 60 60 $link = bbp_get_topic_freshness_link( $t ); 61 $this->assertSame( '<a href="http:// example.org/?topic=topic-1" title="">4 days, 4 hours ago</a>', $link );61 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1" title="">4 days, 4 hours ago</a>', $link ); 62 62 63 63 $r1 = $this->factory->reply->create( array( … … 71 71 72 72 $link = bbp_get_topic_freshness_link( $t ); 73 $this->assertSame( '<a href="http:// example.org/?topic=topic-1/#post-' . bbp_get_reply_id( $r1 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">3 days, 8 hours ago</a>', $link );73 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1/#post-' . bbp_get_reply_id( $r1 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">3 days, 8 hours ago</a>', $link ); 74 74 75 75 $r2 = $this->factory->reply->create( array( … … 83 83 84 84 $link = bbp_get_topic_freshness_link( $t ); 85 $this->assertSame( '<a href="http://example.org/?topic=topic-1/#post-' . bbp_get_reply_id( $r2 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">2 days, 12 hours ago</a>', $link ); 85 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1/#post-' . bbp_get_reply_id( $r2 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">2 days, 12 hours ago</a>', $link ); 86 87 // Retore the user 88 $this->set_current_user( $this->old_current_user ); 89 } 90 91 /** 92 * @covers ::bbp_get_topic_freshness_link 93 */ 94 public function test_bbp_get_topic_freshness_link_with_unpublished_replies() { 95 96 if ( is_multisite() ) { 97 $this->markTestSkipped( 'Skipping URL tests in multiste for now.' ); 98 } 99 100 $now = time(); 101 $post_date = date( 'Y-m-d H:i:s', $now - 60 * 60 * 20 ); // 2o hours ago 102 $post_date_r1 = date( 'Y-m-d H:i:s', $now - 60 * 60 * 18 ); // 18 hours ago 103 $post_date_r2 = date( 'Y-m-d H:i:s', $now - 60 * 60 * 16 ); // 16 hours ago 104 $post_date_r3 = date( 'Y-m-d H:i:s', $now - 60 * 60 * 14 ); // 14 hours ago 105 $post_date_r4 = date( 'Y-m-d H:i:s', $now - 60 * 60 * 12 ); // 12 hours ago 106 $post_date_r5 = date( 'Y-m-d H:i:s', $now - 60 * 60 * 10 ); // 1o hours ago 107 108 $f = $this->factory->forum->create(); 109 $t = $this->factory->topic->create( array( 110 'post_parent' => $f, 111 'post_date' => $post_date, 112 'topic_meta' => array( 113 'forum_id' => $f, 114 ), 115 ) ); 116 117 $link = bbp_get_topic_freshness_link( $t ); 118 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1" title="">20 hours ago</a>', $link ); 119 120 $r1 = $this->factory->reply->create( array( 121 'post_parent' => $t, 122 'post_date' => $post_date_r1, 123 'reply_meta' => array( 124 'forum_id' => $f, 125 'topic_id' => $t, 126 ), 127 ) ); 128 129 $link = bbp_get_topic_freshness_link( $t ); 130 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1/#post-' . bbp_get_reply_id( $r1 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">18 hours ago</a>', $link ); 131 132 $r2 = $this->factory->reply->create( array( 133 'post_parent' => $t, 134 'post_date' => $post_date_r2, 135 'reply_meta' => array( 136 'forum_id' => $f, 137 'topic_id' => $t, 138 ), 139 ) ); 140 141 $link = bbp_get_topic_freshness_link( $t ); 142 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1/#post-' . bbp_get_reply_id( $r2 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">16 hours ago</a>', $link ); 143 144 bbp_spam_reply( $r2 ); 145 146 $link = bbp_get_topic_freshness_link( $t ); 147 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1/#post-' . bbp_get_reply_id( $r1 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">18 hours ago</a>', $link ); 148 149 $r3 = $this->factory->reply->create( array( 150 'post_parent' => $t, 151 'post_date' => $post_date_r3, 152 'reply_meta' => array( 153 'forum_id' => $f, 154 'topic_id' => $t, 155 ), 156 ) ); 157 158 $link = bbp_get_topic_freshness_link( $t ); 159 $this->assertSame( '<a href="http://example.org/?topic=topic-1/#post-' . bbp_get_reply_id( $r3 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">14 hours ago</a>', $link ); 160 161 // Todo: Use bbp_trash_reply() and not wp_trash_post() 162 wp_trash_post( $r3 ); 163 164 $link = bbp_get_topic_freshness_link( $t ); 165 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1/#post-' . bbp_get_reply_id( $r1 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">18 hours ago</a>', $link ); 166 167 $r4 = $this->factory->reply->create( array( 168 'post_parent' => $t, 169 'post_date' => $post_date_r4, 170 'reply_meta' => array( 171 'forum_id' => $f, 172 'topic_id' => $t, 173 ), 174 ) ); 175 176 $link = bbp_get_topic_freshness_link( $t ); 177 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1/#post-' . bbp_get_reply_id( $r4 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">12 hours ago</a>', $link ); 178 179 bbp_unapprove_reply( $r4 ); 180 181 $link = bbp_get_topic_freshness_link( $t ); 182 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1/#post-' . bbp_get_reply_id( $r1 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">18 hours ago</a>', $link ); 183 184 bbp_unspam_reply( $r2 ); 185 186 $link = bbp_get_topic_freshness_link( $t ); 187 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1/#post-' . bbp_get_reply_id( $r2 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">16 hours ago</a>', $link ); 188 189 // Todo: Use bbp_untrash_reply() and not wp_untrash_post() 190 wp_untrash_post( $r3 ); 191 192 $link = bbp_get_topic_freshness_link( $t ); 193 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1/#post-' . bbp_get_reply_id( $r3 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">14 hours ago</a>', $link ); 194 195 bbp_approve_reply( $r4 ); 196 197 $link = bbp_get_topic_freshness_link( $t ); 198 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1/#post-' . bbp_get_reply_id( $r4 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">12 hours ago</a>', $link ); 199 200 $r5 = $this->factory->reply->create( array( 201 'post_parent' => $t, 202 'post_date' => $post_date_r5, 203 'reply_meta' => array( 204 'forum_id' => $f, 205 'topic_id' => $t, 206 ), 207 ) ); 208 209 $link = bbp_get_topic_freshness_link( $t ); 210 $this->assertSame( '<a href="http://' . WP_TESTS_DOMAIN . '/?topic=topic-1/#post-' . bbp_get_reply_id( $r5 ) . '" title="Reply To: ' . bbp_get_topic_title( $t ) . '">10 hours ago</a>', $link ); 86 211 } 87 212
Note: See TracChangeset
for help on using the changeset viewer.