From ebc73c7df7007548f7d3b801b815357749eb3bac Mon Sep 17 00:00:00 2001 From: csteipp Date: Tue, 22 May 2012 23:30:07 +0000 Subject: [PATCH] (bug 36780) Improve display of IPv6 addresses Also add partial tests for Linker::userLink() Change-Id: I680a59bb0ec3ca1d85ed12b0debb3446c73a3aab --- includes/Linker.php | 3 ++ tests/phpunit/includes/LinkerTest.php | 70 +++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 tests/phpunit/includes/LinkerTest.php diff --git a/includes/Linker.php b/includes/Linker.php index e5db232a51..12edcc85c2 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -1075,6 +1075,9 @@ class Linker { public static function userLink( $userId, $userName, $altUserName = false ) { if ( $userId == 0 ) { $page = SpecialPage::getTitleFor( 'Contributions', $userName ); + if ( $altUserName === false ) { + $altUserName = IP::prettifyIP( $userName ); + } } else { $page = Title::makeTitle( NS_USER, $userName ); } diff --git a/tests/phpunit/includes/LinkerTest.php b/tests/phpunit/includes/LinkerTest.php new file mode 100644 index 0000000000..4799dc0bec --- /dev/null +++ b/tests/phpunit/includes/LinkerTest.php @@ -0,0 +1,70 @@ +setMwGlobals( array( + 'wgArticlePath' => '/wiki/$1', + ) ); + + $this->assertEquals( $expected, + Linker::userLink( $userId, $userName, $altUserName, $msg ) + ); + } + + function provideCasesForUserLink() { + # Format: + # - expected + # - userid + # - username + # - optional altUserName + # - optional message + return array( + + ### ANONYMOUS USER ######################################## + array( + 'JohnDoe', + 0, 'JohnDoe', false, + ), + array( + '::1', + 0, '::1', false, + 'Anonymous with pretty IPv6' + ), + array( + '::1', + 0, '0:0:0:0:0:0:0:1', false, + 'Anonymous with almost pretty IPv6' + ), + array( + '::1', + 0, '0000:0000:0000:0000:0000:0000:0000:0001', false, + 'Anonymous with full IPv6' + ), + array( + 'AlternativeUsername', + 0, '::1', 'AlternativeUsername', + 'Anonymous with pretty IPv6 and an alternative username' + ), + + # IPV4 + array( + '127.0.0.1', + 0, '127.0.0.1', false, + 'Anonymous with IPv4' + ), + array( + 'AlternativeUsername', + 0, '127.0.0.1', 'AlternativeUsername', + 'Anonymous with IPv4 and an alternative username' + ), + + ### Regular user ########################################## + # TODO! + ); + } +} -- 2.20.1