mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-19 00:28:47 +02:00
N°3791 - Panel: Use style defined in the DM for classes
Note that for now, semantic colors cannot be used directly in a <main_color> or <complementary_color> tag. Only valid CSS color (hexa, hsla, ...)
This commit is contained in:
@@ -21,75 +21,254 @@ class ormStyleTest extends ItopTestCase
|
||||
{
|
||||
|
||||
/**
|
||||
* @param string $sRegularClass
|
||||
* @param string $sAlternativeClass
|
||||
* @param string|null $sMainColor
|
||||
* @param string|null $sComplementaryColor
|
||||
* @param string|null $sDecorationClasses
|
||||
* @param string|null $sIconRelPath
|
||||
* @param string $sSetterName
|
||||
* @param string $sGetterName
|
||||
* @param mixed $expectedAfterInstantiation
|
||||
* @param mixed $inputValue
|
||||
* @param mixed $expectedValueAfterSetter
|
||||
*
|
||||
* @covers ormStyle::GetStyleClass
|
||||
* @covers ormStyle::GetAltStyleClass
|
||||
* @covers ormStyle::GetMainColor
|
||||
* @covers ormStyle::GetComplementaryColor
|
||||
* @covers ormStyle::GetDecorationClasses
|
||||
* @covers ormStyle::GetIconAsRelPath
|
||||
* @covers ormStyle::SetStyleClass
|
||||
* @covers ormStyle::SetAltStyleClass
|
||||
* @covers ormStyle::SetMainColor
|
||||
* @covers ormStyle::HasMainColor
|
||||
* @covers ormStyle::GetComplementaryColor
|
||||
* @covers ormStyle::SetComplementaryColor
|
||||
* @covers ormStyle::HasComplementaryColor
|
||||
* @covers ormStyle::GetStyleClass
|
||||
* @covers ormStyle::SetStyleClass
|
||||
* @covers ormStyle::HasStyleClass
|
||||
* @covers ormStyle::GetAltStyleClass
|
||||
* @covers ormStyle::SetAltStyleClass
|
||||
* @covers ormStyle::HasAltStyleClass
|
||||
* @covers ormStyle::GetDecorationClasses
|
||||
* @covers ormStyle::SetDecorationClasses
|
||||
* @covers ormStyle::SetIcon
|
||||
* @covers ormStyle::HasDecorationClasses
|
||||
*
|
||||
* @dataProvider BaseSetsProvider
|
||||
*/
|
||||
public function testNonAlteringMethods(string $sRegularClass, string $sAlternativeClass, ?string $sMainColor, ?string $sComplementaryColor, ?string $sDecorationClasses, ?string $sIconRelPath)
|
||||
public function testPropertiesThatShouldNotBeAnAEmptyString(string $sSetterName, string $sGetterName, $expectedAfterInstantiation, $inputValue, $expectedValueAfterSetter)
|
||||
{
|
||||
$oStyle = new ormStyle($sRegularClass, $sAlternativeClass, $sMainColor, $sComplementaryColor, $sDecorationClasses, $sIconRelPath);
|
||||
$oStyle = new ormStyle();
|
||||
|
||||
// Test getters straight from instantiation
|
||||
$this->assertEquals($sRegularClass, $oStyle->GetStyleClass());
|
||||
$this->assertEquals($sAlternativeClass, $oStyle->GetAltStyleClass());
|
||||
$this->assertEquals($sMainColor, $oStyle->GetMainColor());
|
||||
$this->assertEquals($sComplementaryColor, $oStyle->GetComplementaryColor());
|
||||
$this->assertEquals($sDecorationClasses, $oStyle->GetDecorationClasses());
|
||||
$this->assertEquals($sIconRelPath, $oStyle->GetIconAsRelPath());
|
||||
// Note: Use of assertTrue instead of assertEquals, otherwise it considers null to be equals to ""
|
||||
$this->assertTrue($oStyle->$sGetterName() === $expectedAfterInstantiation);
|
||||
|
||||
// Test that setters don't change passed value
|
||||
$oStyle->SetStyleClass($sRegularClass);
|
||||
$this->assertEquals($sRegularClass, $oStyle->GetStyleClass());
|
||||
$oStyle->$sSetterName($inputValue);
|
||||
// Note: Use of assertTrue instead of assertEquals, otherwise it considers null to be equals to ""
|
||||
$this->assertTrue($oStyle->$sGetterName() === $expectedValueAfterSetter);
|
||||
}
|
||||
|
||||
$oStyle->SetAltStyleClass($sAlternativeClass);
|
||||
$this->assertEquals($sAlternativeClass, $oStyle->GetAltStyleClass());
|
||||
|
||||
$oStyle->SetMainColor($sMainColor);
|
||||
$this->assertEquals($sMainColor, $oStyle->GetMainColor());
|
||||
|
||||
$oStyle->SetComplementaryColor($sComplementaryColor);
|
||||
$this->assertEquals($sComplementaryColor, $oStyle->GetComplementaryColor());
|
||||
|
||||
$oStyle->SetDecorationClasses($sDecorationClasses);
|
||||
$this->assertEquals($sDecorationClasses, $oStyle->GetDecorationClasses());
|
||||
|
||||
$oStyle->SetIcon($sIconRelPath);
|
||||
$this->assertEquals($sIconRelPath, $oStyle->GetIconAsRelPath());
|
||||
public function BaseSetsProvider(): array
|
||||
{
|
||||
return [
|
||||
'Main color as hexa color' => [
|
||||
'SetMainColor',
|
||||
'GetMainColor',
|
||||
null,
|
||||
'#ABCDEF',
|
||||
'#ABCDEF',
|
||||
],
|
||||
'Main color as empty string' => [
|
||||
'SetMainColor',
|
||||
'GetMainColor',
|
||||
null,
|
||||
'',
|
||||
null,
|
||||
],
|
||||
'Main color as null' => [
|
||||
'SetMainColor',
|
||||
'GetMainColor',
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
],
|
||||
'Main color not present' => [
|
||||
'SetMainColor',
|
||||
'HasMainColor',
|
||||
false,
|
||||
null,
|
||||
false,
|
||||
],
|
||||
'Main color present' => [
|
||||
'SetMainColor',
|
||||
'HasMainColor',
|
||||
false,
|
||||
'#ABCDEF',
|
||||
true,
|
||||
],
|
||||
'Complementary color as hexa color' => [
|
||||
'SetComplementaryColor',
|
||||
'GetComplementaryColor',
|
||||
null,
|
||||
'#ABCDEF',
|
||||
'#ABCDEF',
|
||||
],
|
||||
'Complementary color as empty string' => [
|
||||
'SetComplementaryColor',
|
||||
'GetComplementaryColor',
|
||||
null,
|
||||
'',
|
||||
null,
|
||||
],
|
||||
'Complementary color as null' => [
|
||||
'SetComplementaryColor',
|
||||
'GetComplementaryColor',
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
],
|
||||
'Complementary color not present' => [
|
||||
'SetComplementaryColor',
|
||||
'HasComplementaryColor',
|
||||
false,
|
||||
null,
|
||||
false,
|
||||
],
|
||||
'Complementary color present' => [
|
||||
'SetComplementaryColor',
|
||||
'HasComplementaryColor',
|
||||
false,
|
||||
'#ABCDEF',
|
||||
true,
|
||||
],
|
||||
'At least main color present' => [
|
||||
'SetMainColor',
|
||||
'HasAtLeastOneColor',
|
||||
false,
|
||||
'#ABCDEF',
|
||||
true,
|
||||
],
|
||||
'At least complementary color present' => [
|
||||
'SetComplementaryColor',
|
||||
'HasAtLeastOneColor',
|
||||
false,
|
||||
'#ABCDEF',
|
||||
true,
|
||||
],
|
||||
'Style class as CSS class' => [
|
||||
'SetStyleClass',
|
||||
'GetStyleClass',
|
||||
null,
|
||||
'foo-css-class',
|
||||
'foo-css-class',
|
||||
],
|
||||
'Style class as empty string' => [
|
||||
'SetStyleClass',
|
||||
'GetStyleClass',
|
||||
null,
|
||||
'',
|
||||
null,
|
||||
],
|
||||
'Style class as null' => [
|
||||
'SetStyleClass',
|
||||
'GetStyleClass',
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
],
|
||||
'Style class not present' => [
|
||||
'SetStyleClass',
|
||||
'HasComplementaryColor',
|
||||
false,
|
||||
null,
|
||||
false,
|
||||
],
|
||||
'Style class present' => [
|
||||
'SetStyleClass',
|
||||
'HasStyleClass',
|
||||
false,
|
||||
'foo-css-class',
|
||||
true,
|
||||
],
|
||||
'Alt style class as CSS class' => [
|
||||
'SetAltStyleClass',
|
||||
'GetAltStyleClass',
|
||||
null,
|
||||
'foo-css-class',
|
||||
'foo-css-class',
|
||||
],
|
||||
'Alt style class as empty string' => [
|
||||
'SetAltStyleClass',
|
||||
'GetAltStyleClass',
|
||||
null,
|
||||
'',
|
||||
null,
|
||||
],
|
||||
'Alt style class as null' => [
|
||||
'SetAltStyleClass',
|
||||
'GetAltStyleClass',
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
],
|
||||
'Alt style class not present' => [
|
||||
'SetAltStyleClass',
|
||||
'HasAltStyleClass',
|
||||
false,
|
||||
null,
|
||||
false,
|
||||
],
|
||||
'Alt style class present' => [
|
||||
'SetAltStyleClass',
|
||||
'HasAltStyleClass',
|
||||
false,
|
||||
'foo-css-class',
|
||||
true,
|
||||
],
|
||||
'Decoration classes as CSS classes' => [
|
||||
'SetMainColor',
|
||||
'GetMainColor',
|
||||
null,
|
||||
'fas fa-user',
|
||||
'fas fa-user',
|
||||
],
|
||||
'Decoration classes as empty string' => [
|
||||
'SetMainColor',
|
||||
'GetMainColor',
|
||||
null,
|
||||
'',
|
||||
null,
|
||||
],
|
||||
'Decoration classes as null' => [
|
||||
'SetMainColor',
|
||||
'GetMainColor',
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
],
|
||||
'Decoration classes not present' => [
|
||||
'SetDecorationClasses',
|
||||
'HasDecorationClasses',
|
||||
false,
|
||||
null,
|
||||
false,
|
||||
],
|
||||
'Decoration classes present' => [
|
||||
'SetDecorationClasses',
|
||||
'HasDecorationClasses',
|
||||
false,
|
||||
'fas fa-user',
|
||||
true,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sRegularClass
|
||||
* @param string $sAlternativeClass
|
||||
* @param string|null $sRegularClass
|
||||
* @param string|null $sAlternativeClass
|
||||
* @param string|null $sMainColor
|
||||
* @param string|null $sComplementaryColor
|
||||
* @param string|null $sDecorationClasses
|
||||
* @param string|null $sIconRelPath
|
||||
*
|
||||
* @covers ormStyle::GetIconAsAbsUrl
|
||||
*
|
||||
* @dataProvider BaseSetsProvider
|
||||
*
|
||||
* @throws \Exception
|
||||
* @covers ormStyle::GetIconAsAbsUrl
|
||||
*
|
||||
* @dataProvider GetIconAsAbsUrlProvider
|
||||
*
|
||||
*/
|
||||
public function testGetIconAsAbsUrl(string $sRegularClass, string $sAlternativeClass, ?string $sMainColor, ?string $sComplementaryColor, ?string $sDecorationClasses, ?string $sIconRelPath)
|
||||
public function testGetIconAsAbsUrl(?string $sRegularClass, ?string $sAlternativeClass, ?string $sMainColor, ?string $sComplementaryColor, ?string $sDecorationClasses, ?string $sIconRelPath)
|
||||
{
|
||||
$oStyle = new ormStyle($sRegularClass, $sAlternativeClass, $sMainColor, $sComplementaryColor, $sDecorationClasses, $sIconRelPath);
|
||||
|
||||
@@ -97,7 +276,7 @@ class ormStyleTest extends ItopTestCase
|
||||
$this->assertEquals($sExpectedIconAbsUrl, $oStyle->GetIconAsAbsUrl());
|
||||
}
|
||||
|
||||
public function BaseSetsProvider(): array
|
||||
public function GetIconAsAbsUrlProvider(): array
|
||||
{
|
||||
return [
|
||||
'Complete style with icon from /images folder' => [
|
||||
|
||||
Reference in New Issue
Block a user