Improve paginate_links() performance by not calling number_format_i18n() unnecessarily. Fixes #25735 with tests. Props johnpbloch.

git-svn-id: https://develop.svn.wordpress.org/trunk@27523 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
John Blackbourn
2014-03-13 17:38:51 +00:00
parent 543bc6404a
commit 22eb8b34ef
2 changed files with 33 additions and 3 deletions

View File

@@ -0,0 +1,31 @@
<?php
class Tests_General_Template extends WP_UnitTestCase {
private $i18n_count = 0;
function increment_i18n_count() {
$this->i18n_count += 1;
}
/**
* @ticket 25735
*/
function test_paginate_links_number_format() {
$this->i18n_count = 0;
add_filter( 'number_format_i18n', array( $this, 'increment_i18n_count' ) );
paginate_links( array(
'total' => 100,
'current' => 50,
'show_all' => false,
'prev_next' => true,
'end_size' => 1,
'mid_size' => 1,
) );
// The links should be:
// < Previous 1 ... 49 50 51 ... 100 Next >
$this->assertEquals( 5, $this->i18n_count );
remove_filter( 'number_format_i18n', array( $this, 'increment_i18n_count' ) );
}
}