Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: b613a8b906
Fetching contributors…

Cannot retrieve contributors at this time

233 lines (200 sloc) 6.836 kB
<?php
/**
*
* License, TERMS and CONDITIONS
*
* This software is licensed under the GNU LESSER GENERAL PUBLIC LICENSE (LGPL) version 3
* Please read the license here : http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* ATTRIBUTION REQUIRED
* 4. All web pages generated by the use of this software, or at least
* the page that lists the recent questions (usually home page) must include
* a link to the http://www.lampcms.com and text of the link must indicate that
* the website\'s Questions/Answers functionality is powered by lampcms.com
* An example of acceptable link would be "Powered by <a href="http://www.lampcms.com">LampCMS</a>"
* The location of the link is not important, it can be in the footer of the page
* but it must not be hidden by style attributes
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This product includes GeoLite data created by MaxMind,
* available from http://www.maxmind.com/
*
*
* @author Dmitri Snytkine <cms@lampcms.com>
* @copyright 2005-2012 (or current year) Dmitri Snytkine
* @license http://www.gnu.org/licenses/lgpl-3.0.txt GNU LESSER GENERAL PUBLIC LICENSE (LGPL) version 3
* @link http://www.lampcms.com Lampcms.com project
* @version Release: @package_version@
*
*
*/
namespace Lampcms;
require_once 'bootstrap.php';
/**
* Run after ArrayDefaultsTest
*
*/
class IniTest extends LampcmsUnitTestCase
{
protected $Ini;
public function setUp()
{
$this->Ini = new \Lampcms\Ini();
}
public function testConstructor()
{
$this->Ini = new \Lampcms\Ini();
$this->assertTrue(is_object($this->Ini) && ($this->Ini instanceof \Lampcms\Ini));
}
/**
* @depends testConstructor
*/
public function testArrayCopy()
{
$a = $this->Ini->getArrayCopy();
$this->assertTrue(is_array($a) && !empty($a));
}
/**
* @depends testConstructor
*/
public function testMongoConfig()
{
try {
$a = $this->Ini->getSection('MONGO');
} catch (IniException $e) {
$this->fail($e->getMessage());
}
if (empty($a) || !is_array($a)) {
$this->fail('MONGO section in !config.ini is empty');
}
if (empty($a['server'])) {
$this->fail('MONGO section of !config.ini does not have required "server" value');
}
if (empty($a['db'])) {
$this->fail('MONGO section of !config.ini does not have required "db" value');
}
}
/**
* @depends testConstructor
*/
public function testSiteUrl()
{
try {
$url = $this->Ini->SITE_URL;
} catch (IniException $e) {
$this->fail($e->getMessage());
}
if (empty($url)) {
$this->fail('value of SITE_URL is empty');
}
if (0 !== strpos($url, 'http')) {
$this->fail('value of SITE_URL in !config.ini must start with "http"');
}
}
/**
* @depends testConstructor
*/
public function testEmailAdmin()
{
try {
$v = $this->Ini->EMAIL_ADMIN;
} catch (IniException $e) {
$this->fail($e->getMessage());
}
if (empty($v)) {
$this->fail('Value of EMAIL_ADMIN in !config.inc cannot be empty');
}
}
/**
* @depends testConstructor
*/
public function testEmailDomain()
{
try {
$v = $this->Ini->EMAIL_DOMAIN;
} catch (IniException $e) {
$this->fail($e->getMessage());
}
if (empty($v)) {
$this->fail('Value of EMAIL_DOMAIN in !config.inc cannot be empty');
}
}
/**
* @depends testConstructor
*/
public function testSalt()
{
try {
$v = $this->Ini->SALT;
} catch (IniException $e) {
$this->fail($e->getMessage());
}
if (empty($v)) {
$this->fail('Value of SALT in !config.inc cannot be empty');
}
}
/**
* @depends testConstructor
*/
public function testCookieSalt()
{
try {
$v = $this->Ini->COOKIE_SALT;
} catch (IniException $e) {
$this->fail($e->getMessage());
}
if (empty($v)) {
$this->fail('Value of COOKIE_SALT in !config.inc cannot be empty');
}
}
/**
* @depends testConstructor
*/
public function testCaptchaSection()
{
try {
$v = $this->Ini->getSection('CAPTCHA');
} catch (IniException $e) {
$this->fail($e->getMessage());
}
}
/**
* @depends testConstructor
*/
public function testGravatarSection()
{
try {
$v = $this->Ini->getSection('GRAVATAR');
} catch (IniException $e) {
$this->fail($e->getMessage());
}
}
public function testSetSection()
{
$a = array(
'server' => '"mongodb://127.0.0.5:2777"',
'db' => "LAMPCMS_TEST");
$this->Ini->setSection('MONGO', $a);
$this->assertEquals($this->Ini->getSection('MONGO'), $a);
}
}
Jump to Line
Something went wrong with that request. Please try again.