Example #1
0
 /**
  * Tests that version_compare() and its "proxy"
  * Zend_Version::compareVersion() work as expected.
  */
 public function testVersionCompare()
 {
     $expect = -1;
     for ($i=0; $i < 2; $i++) {
         for ($j=0; $j < 12; $j++) {
             for ($k=0; $k < 20; $k++) {
                 foreach (array('dev', 'pr', 'PR', 'alpha', 'a1', 'a2', 'beta', 'b1', 'b2', 'RC', 'RC1', 'RC2', 'RC3', '', 'pl1', 'PL1') as $rel) {
                     $ver = "$i.$j.$k$rel";
                     $normalizedVersion = strtolower(Version::VERSION);
                     if (strtolower($ver) === $normalizedVersion
                         || strtolower("$i.$j.$k-$rel") === $normalizedVersion
                         || strtolower("$i.$j.$k.$rel") === $normalizedVersion
                         || strtolower("$i.$j.$k $rel") === $normalizedVersion
                     ) {
                         if ($expect == -1) {
                             $expect = 1;
                         }
                     } else {
                         $this->assertSame(
                             Version::compareVersion($ver),
                             $expect,
                             "For version '$ver' and Zend_Version::VERSION = '"
                             . Version::VERSION . "': result=" . (Version::compareVersion($ver))
                             . ', but expected ' . $expect);
                     }
                 }
             }
         }
     };
 }
Example #2
0
 /**
  * @group ZF-10363
  */
 public function testFetchLatestVersion()
 {
     $actual = Version::getLatest();
     if ('not available' === $actual) {
         $this->markIncomplete('http://framework.zend.com/ may be down');
     }
     $this->assertRegExp('/^[1-2](\\.[0-9]+){2}/', $actual);
 }
Example #3
0
 /**
  * @group ZF-10363
  */
 public function testFetchLatestVersion()
 {
     if (!constant('TESTS_ZEND_VERSION_ONLINE_ENABLED')) {
         $this->markTestSkipped('Version online tests are not enabled');
     }
     if (!extension_loaded('openssl')) {
         $this->markTestSkipped('This test requires openssl extension to be enabled in PHP');
     }
     $actual = Version::getLatest();
     $this->assertRegExp('/^[1-2](\\.[0-9]+){2}/', $actual);
 }
Example #4
0
    $result = TEST_FAIL;
    $failed = true;
}
Helper::printLineToc($counter, 'Checking HTTPS stream wrapper', $result);
$counter++;
// -----------------------------------------------------------------------------
if (true === method_exists('\\Zend\\Debug', 'dump')) {
    $result = TEST_PASS;
} else {
    $result = TEST_FAIL;
    $failed = true;
}
Helper::printLineToc($counter, 'Checking Zend Framework path', $result);
$counter++;
// -----------------------------------------------------------------------------
if (1 === Version::compareVersion(PHP_VERSION, MIN_PHP_VERSION)) {
    $result = TEST_PASS;
} else {
    $result = TEST_FAIL;
    $failed = true;
}
Helper::printLineToc($counter, sprintf('Checking Zend Framework version (%s)', Version::VERSION), $result);
$counter++;
// -----------------------------------------------------------------------------
if (extension_loaded('openssl')) {
    $version = OPENSSL_VERSION_TEXT;
    $result = TEST_PASS;
} else {
    $version = 'N/A';
    $result = TEST_FAIL;
    $failed = true;
 /**
  * Wrapper for Zend\Version::getLatest with caching functionality, so that
  * ZendDeveloperTools won't act as a "DDoS bot-network".
  *
  * @param  string $currentVersion
  * @return array
  */
 protected function getLatestVersion($currentVersion)
 {
     if (!$this->options->isVersionCheckEnabled()) {
         return array(true, '');
     }
     $cacheDir = $this->options->getCacheDir();
     // exit early if the cache dir doesn't exist,
     // to prevent hitting the GitHub API for every request.
     if (!is_dir($cacheDir)) {
         return array(true, '');
     }
     if (file_exists($cacheDir . '/ZDT_ZF_Version.cache')) {
         $cache = file_get_contents($cacheDir . '/ZDT_ZF_Version.cache');
         $cache = explode('|', $cache);
         if ($cache[0] + self::VERSION_CACHE_TTL > time()) {
             // the cache file was written before the version was upgraded.
             if ($currentVersion === $cache[2] || $cache[2] === 'N/A') {
                 return array(true, '');
             }
             return array($cache[1] === 'yes' ? true : false, $cache[2]);
         }
     }
     $isLatest = Version::isLatest();
     $latest = Version::getLatest();
     file_put_contents($cacheDir . '/ZDT_ZF_Version.cache', sprintf('%d|%s|%s', time(), $isLatest ? 'yes' : 'no', $latest === null ? 'N/A' : $latest));
     return array($isLatest, $latest);
 }