Add phpunit test for Lessc
This commit is contained in:
parent
ec1751bae9
commit
bb81f66a1a
@ -147,7 +147,7 @@ if ($action == 'classin' && ($user->rights->agenda->allactions->create ||
|
||||
(($object->authorid == $user->id || $object->userownerid == $user->id) && $user->rights->agenda->myactions->create)))
|
||||
{
|
||||
$object->fetch($id);
|
||||
$object->setProject(GETPOST('projectid'));
|
||||
$object->setProject(GETPOST('projectid', 'int'));
|
||||
}
|
||||
|
||||
// Action clone object
|
||||
@ -165,7 +165,7 @@ if ($action == 'confirm_clone' && $confirm == 'yes')
|
||||
reset($object->socpeopleassigned);
|
||||
$object->contactid = key($object->socpeopleassigned);
|
||||
}
|
||||
$result = $object->createFromClone($user, GETPOST('fk_userowner'), GETPOST('socid'));
|
||||
$result = $object->createFromClone($user, GETPOST('socid', 'int'));
|
||||
if ($result > 0) {
|
||||
header("Location: " . $_SERVER['PHP_SELF'] . '?id=' . $result);
|
||||
exit();
|
||||
|
||||
@ -798,8 +798,6 @@ class BonPrelevement extends CommonObject
|
||||
$month = strftime("%m", $datetimeprev);
|
||||
$year = strftime("%Y", $datetimeprev);
|
||||
|
||||
$puser = new User($this->db, $conf->global->PRELEVEMENT_USER);
|
||||
|
||||
$this->invoice_in_error = array();
|
||||
$this->thirdparty_in_error = array();
|
||||
|
||||
|
||||
@ -184,7 +184,7 @@ class PaymentSocialContribution extends CommonObject
|
||||
$remaintopay=price2num($contrib->amount - $paiement - $creditnotes - $deposits, 'MT');
|
||||
if ($remaintopay == 0)
|
||||
{
|
||||
$result=$contrib->set_paid($user, '', '');
|
||||
$result=$contrib->set_paid($user);
|
||||
}
|
||||
else dol_syslog("Remain to pay for conrib ".$contribid." not null. We do nothing.");
|
||||
}
|
||||
|
||||
@ -428,7 +428,7 @@ class CMailFile
|
||||
foreach ($this->images_encoded as $img)
|
||||
{
|
||||
//$img['fullpath'],$img['image_encoded'],$img['name'],$img['content_type'],$img['cid']
|
||||
$attachment = Swift_Image::fromPath($img['fullpath'], $img['content_type']);
|
||||
$attachment = Swift_Image::fromPath($img['fullpath']);
|
||||
// embed image
|
||||
$imgcid = $this->message->embed($attachment);
|
||||
// replace cid by the one created by swiftmail in html message
|
||||
|
||||
@ -274,9 +274,10 @@ class ExtraFields
|
||||
* @param string $perms Permission
|
||||
* @param string $list Into list view by default
|
||||
* @param string $computed Computed value
|
||||
* @param string $help Help on tooltip
|
||||
* @return int <=0 if KO, >0 if OK
|
||||
*/
|
||||
private function create($attrname, $type = 'varchar', $length = 255, $elementtype = 'member', $unique = 0, $required = 0, $default_value = '', $param = '', $perms = '', $list = '0', $computed = '')
|
||||
private function create($attrname, $type = 'varchar', $length = 255, $elementtype = 'member', $unique = 0, $required = 0, $default_value = '', $param = '', $perms = '', $list = '0', $computed = '', $help = '')
|
||||
{
|
||||
if ($elementtype == 'thirdparty') $elementtype='societe';
|
||||
if ($elementtype == 'contact') $elementtype='socpeople';
|
||||
|
||||
@ -3058,7 +3058,7 @@ class lessc_parser {
|
||||
$content[] = $m[1];
|
||||
if ($m[2] == "@{") {
|
||||
$this->count -= strlen($m[2]);
|
||||
if ($this->interpolation($inter, false)) {
|
||||
if ($this->interpolation($inter)) {
|
||||
$content[] = $inter;
|
||||
} else {
|
||||
$this->count += strlen($m[2]);
|
||||
@ -3310,7 +3310,7 @@ class lessc_parser {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($this->interpolation($inter, false)) {
|
||||
if ($this->interpolation($inter)) {
|
||||
$attrParts[] = $inter;
|
||||
$hasInterpolation = true;
|
||||
continue;
|
||||
|
||||
@ -705,7 +705,7 @@ if ($action == 'addcontainer')
|
||||
getAllImages($object, $objectpage, $urltograbbis, $tmpgeturl['content'], $action, 1, $grabimages, $grabimagesinto);
|
||||
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/class/lessc.class.php';
|
||||
$lesscobj = new lessc();
|
||||
$lesscobj = new Lessc();
|
||||
try {
|
||||
$contentforlessc = ".bodywebsite {\n".$tmpgeturl['content']."\n}\n";
|
||||
//print '<pre>'.$contentforlessc.'</pre>';
|
||||
|
||||
@ -87,6 +87,8 @@ class AllTests
|
||||
$suite->addTestSuite('DateLibTest');
|
||||
require_once dirname(__FILE__).'/UtilsTest.php';
|
||||
$suite->addTestSuite('UtilsTest');
|
||||
require_once dirname(__FILE__).'/LesscTest.php';
|
||||
$suite->addTestSuite('LesscTest');
|
||||
//require_once dirname(__FILE__).'/DateLibTzFranceTest.php';
|
||||
//$suite->addTestSuite('DateLibTzFranceTest');
|
||||
require_once dirname(__FILE__).'/MarginsLibTest.php';
|
||||
|
||||
182
test/phpunit/LesscTest.php
Normal file
182
test/phpunit/LesscTest.php
Normal file
@ -0,0 +1,182 @@
|
||||
<?php
|
||||
/* Copyright (C) 2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* or see http://www.gnu.org/
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file test/phpunit/LessTest.php
|
||||
* \ingroup test
|
||||
* \brief PHPUnit test
|
||||
* \remarks To run this script as CLI: phpunit filename.php
|
||||
*/
|
||||
|
||||
global $conf,$user,$langs,$db;
|
||||
//define('TEST_DB_FORCE_TYPE','mysql'); // This is to force using mysql driver
|
||||
//require_once 'PHPUnit/Autoload.php';
|
||||
require_once dirname(__FILE__).'/../../htdocs/master.inc.php';
|
||||
require_once dirname(__FILE__).'/../../htdocs/core/lib/security.lib.php';
|
||||
require_once dirname(__FILE__).'/../../htdocs/core/lib/security2.lib.php';
|
||||
|
||||
if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1');
|
||||
if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1');
|
||||
if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1');
|
||||
if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1');
|
||||
if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1');
|
||||
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1');
|
||||
if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no menu to show
|
||||
if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php
|
||||
if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1');
|
||||
if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session)
|
||||
|
||||
if (empty($user->id))
|
||||
{
|
||||
print "Load permissions for admin user nb 1\n";
|
||||
$user->fetch(1);
|
||||
$user->getrights();
|
||||
}
|
||||
$conf->global->MAIN_DISABLE_ALL_MAILS=1;
|
||||
|
||||
|
||||
/**
|
||||
* Class for PHPUnit tests
|
||||
*
|
||||
* @backupGlobals disabled
|
||||
* @backupStaticAttributes enabled
|
||||
* @remarks backupGlobals must be disabled to have db,conf,user and lang not erased.
|
||||
*/
|
||||
class LesscTest extends PHPUnit\Framework\TestCase
|
||||
{
|
||||
protected $savconf;
|
||||
protected $savuser;
|
||||
protected $savlangs;
|
||||
protected $savdb;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* We save global variables into local variables
|
||||
*
|
||||
* @return SecurityTest
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
//$this->sharedFixture
|
||||
global $conf,$user,$langs,$db;
|
||||
$this->savconf=$conf;
|
||||
$this->savuser=$user;
|
||||
$this->savlangs=$langs;
|
||||
$this->savdb=$db;
|
||||
|
||||
print __METHOD__." db->type=".$db->type." user->id=".$user->id;
|
||||
//print " - db ".$db->db;
|
||||
print "\n";
|
||||
}
|
||||
|
||||
// Static methods
|
||||
public static function setUpBeforeClass()
|
||||
{
|
||||
global $conf,$user,$langs,$db;
|
||||
$db->begin(); // This is to have all actions inside a transaction even if test launched without suite.
|
||||
|
||||
print __METHOD__."\n";
|
||||
}
|
||||
|
||||
// tear down after class
|
||||
public static function tearDownAfterClass()
|
||||
{
|
||||
global $conf,$user,$langs,$db;
|
||||
$db->rollback();
|
||||
|
||||
print __METHOD__."\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Init phpunit tests
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function setUp()
|
||||
{
|
||||
global $conf,$user,$langs,$db;
|
||||
$conf=$this->savconf;
|
||||
$user=$this->savuser;
|
||||
$langs=$this->savlangs;
|
||||
$db=$this->savdb;
|
||||
|
||||
print __METHOD__."\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* End phpunit tests
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function tearDown()
|
||||
{
|
||||
print __METHOD__."\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* testLess
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function testLessc()
|
||||
{
|
||||
global $conf,$user,$langs,$db;
|
||||
$conf=$this->savconf;
|
||||
$user=$this->savuser;
|
||||
$langs=$this->savlangs;
|
||||
$db=$this->savdb;
|
||||
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/class/lessc.class.php';
|
||||
|
||||
$lesscobj = new Lessc();
|
||||
|
||||
$cssfile = "
|
||||
a { font-size: 10px; }
|
||||
b .test {
|
||||
font-size: 10px;
|
||||
}
|
||||
";
|
||||
|
||||
try {
|
||||
$contentforlessc = ".bodywebsite {\n".$cssfile."\n}\n";
|
||||
//print '<pre>'.$contentforlessc.'</pre>';
|
||||
$result = $lesscobj->compile($contentforlessc);
|
||||
//var_dump($contentforlessc); exit;
|
||||
|
||||
} catch (exception $e) {
|
||||
//echo "failed to compile lessc";
|
||||
dol_syslog("Failed to compile the CSS with lessc: ".$e->getMessage(), LOG_WARNING);
|
||||
}
|
||||
|
||||
$cssexpected = "
|
||||
.bodywebsite a {
|
||||
font-size: 10px;
|
||||
}
|
||||
.bodywebsite b .test {
|
||||
font-size: 10px;
|
||||
}
|
||||
";
|
||||
|
||||
print __METHOD__." SeparatorDecimal=".$result."\n";
|
||||
$this->assertEquals(trim($result), trim($cssexpected));
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user