aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ApplicationUtilsTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ApplicationUtilsTest.php')
-rw-r--r--tests/ApplicationUtilsTest.php36
1 files changed, 29 insertions, 7 deletions
diff --git a/tests/ApplicationUtilsTest.php b/tests/ApplicationUtilsTest.php
index ef4f46a8..ebdc365c 100644
--- a/tests/ApplicationUtilsTest.php
+++ b/tests/ApplicationUtilsTest.php
@@ -17,7 +17,7 @@ class FakeApplicationUtils extends ApplicationUtils
17 /** 17 /**
18 * Toggle HTTP requests, allow overriding the version code 18 * Toggle HTTP requests, allow overriding the version code
19 */ 19 */
20 public static function getLatestGitVersionCode($url, $timeout=0) 20 public static function getVersion($url, $timeout=0)
21 { 21 {
22 return self::$VERSION_CODE; 22 return self::$VERSION_CODE;
23 } 23 }
@@ -45,17 +45,27 @@ class ApplicationUtilsTest extends PHPUnit_Framework_TestCase
45 } 45 }
46 46
47 /** 47 /**
48 * Remove test version file if it exists
49 */
50 public function tearDown()
51 {
52 if (is_file('sandbox/version.php')) {
53 unlink('sandbox/version.php');
54 }
55 }
56
57 /**
48 * Retrieve the latest version code available on Git 58 * Retrieve the latest version code available on Git
49 * 59 *
50 * Expected format: Semantic Versioning - major.minor.patch 60 * Expected format: Semantic Versioning - major.minor.patch
51 */ 61 */
52 public function testGetLatestGitVersionCode() 62 public function testGetVersionCode()
53 { 63 {
54 $testTimeout = 10; 64 $testTimeout = 10;
55 65
56 $this->assertEquals( 66 $this->assertEquals(
57 '0.5.4', 67 '0.5.4',
58 ApplicationUtils::getLatestGitVersionCode( 68 ApplicationUtils::getVersion(
59 'https://raw.githubusercontent.com/shaarli/Shaarli/' 69 'https://raw.githubusercontent.com/shaarli/Shaarli/'
60 .'v0.5.4/shaarli_version.php', 70 .'v0.5.4/shaarli_version.php',
61 $testTimeout 71 $testTimeout
@@ -63,7 +73,7 @@ class ApplicationUtilsTest extends PHPUnit_Framework_TestCase
63 ); 73 );
64 $this->assertRegExp( 74 $this->assertRegExp(
65 self::$versionPattern, 75 self::$versionPattern,
66 ApplicationUtils::getLatestGitVersionCode( 76 ApplicationUtils::getVersion(
67 'https://raw.githubusercontent.com/shaarli/Shaarli/' 77 'https://raw.githubusercontent.com/shaarli/Shaarli/'
68 .'master/shaarli_version.php', 78 .'master/shaarli_version.php',
69 $testTimeout 79 $testTimeout
@@ -72,14 +82,26 @@ class ApplicationUtilsTest extends PHPUnit_Framework_TestCase
72 } 82 }
73 83
74 /** 84 /**
75 * Attempt to retrieve the latest version from an invalid URL 85 * Attempt to retrieve the latest version from an invalid File
86 */
87 public function testGetVersionCodeFromFile()
88 {
89 file_put_contents('sandbox/version.php', '<?php /* 1.2.3 */ ?>'. PHP_EOL);
90 $this->assertEquals(
91 '1.2.3',
92 ApplicationUtils::getVersion('sandbox/version.php', 1)
93 );
94 }
95
96 /**
97 * Attempt to retrieve the latest version from an invalid File
76 */ 98 */
77 public function testGetLatestGitVersionCodeInvalidUrl() 99 public function testGetVersionCodeInvalidFile()
78 { 100 {
79 $oldlog = ini_get('error_log'); 101 $oldlog = ini_get('error_log');
80 ini_set('error_log', '/dev/null'); 102 ini_set('error_log', '/dev/null');
81 $this->assertFalse( 103 $this->assertFalse(
82 ApplicationUtils::getLatestGitVersionCode('htttp://null.io', 1) 104 ApplicationUtils::getVersion('idontexist', 1)
83 ); 105 );
84 ini_set('error_log', $oldlog); 106 ini_set('error_log', $oldlog);
85 } 107 }