|
19 | 19 | namespace PhpOffice\PhpWordTests\Shared; |
20 | 20 |
|
21 | 21 | use PhpOffice\PhpWord\Shared\Converter; |
| 22 | +use PhpOffice\PhpWord\SimpleType\Color; |
22 | 23 |
|
23 | 24 | /** |
24 | 25 | * Test class for PhpOffice\PhpWord\Shared\Converter. |
@@ -117,7 +118,55 @@ public function testHtmlToRGB(): void |
117 | 118 | self::assertEquals([102, 119, 136], Converter::htmlToRgb('678')); // 3 characters |
118 | 119 | self::assertEquals($flse, Converter::htmlToRgb('0F9D')); // 4 characters |
119 | 120 | self::assertEquals([0, 0, 0], Converter::htmlToRgb('unknow')); // 6 characters, invalid |
120 | | - self::assertEquals([139, 0, 139], Converter::htmlToRgb(\PhpOffice\PhpWord\SimpleType\Color::DARKMAGENTA)); // Constant |
| 121 | + self::assertEquals([139, 0, 139], Converter::htmlToRgb(Color::DARKMAGENTA)); // Constant |
| 122 | + } |
| 123 | + |
| 124 | + /** |
| 125 | + * Test SimpleType::Color. Ensure all colors come out to correct values. |
| 126 | + * Verified against https://c-rex.net/samples/ooxml/e1/Part4/OOXML_P4_DOCX_ST_PresetColorVal_topic_ID0ELA5NB.html |
| 127 | + */ |
| 128 | + public function testBuiltInColors(): void |
| 129 | + { |
| 130 | + self::assertEquals([0, 255, 255], Converter::htmlToRgb(Color::AQUA)); |
| 131 | + self::assertEquals([0, 0, 0], Converter::htmlToRgb(Color::BLACK)); |
| 132 | + self::assertEquals([0, 0, 255], Converter::htmlToRgb(Color::BLUE)); |
| 133 | + self::assertEquals([165, 42, 42], Converter::htmlToRgb(Color::BROWN)); |
| 134 | + self::assertEquals([0, 255, 255], Converter::htmlToRgb(Color::CYAN)); |
| 135 | + self::assertEquals([0, 0, 139], Converter::htmlToRgb(Color::DARKBLUE)); |
| 136 | + self::assertEquals([0, 139, 139], Converter::htmlToRgb(Color::DARKCYAN)); |
| 137 | + self::assertEquals([169, 169, 169], Converter::htmlToRgb(Color::DARKGRAY)); |
| 138 | + self::assertEquals([0, 100, 0], Converter::htmlToRgb(Color::DARKGREEN)); |
| 139 | + self::assertEquals([139, 0, 139], Converter::htmlToRgb(Color::DARKMAGENTA)); |
| 140 | + self::assertEquals([255, 140, 0], Converter::htmlToRgb(Color::DARKORANGE)); |
| 141 | + self::assertEquals([139, 0, 0], Converter::htmlToRgb(Color::DARKRED)); |
| 142 | + self::assertEquals([148, 0, 211], Converter::htmlToRgb(Color::DARKVIOLET)); |
| 143 | + self::assertEquals([128, 128, 0], Converter::htmlToRgb(Color::DARKYELLOW)); |
| 144 | + self::assertEquals([255, 0, 255], Converter::htmlToRgb(Color::FUCHSIA)); |
| 145 | + self::assertEquals([255, 215, 0], Converter::htmlToRgb(Color::GOLD)); |
| 146 | + self::assertEquals([128, 128, 128], Converter::htmlToRgb(Color::GRAY)); |
| 147 | + self::assertEquals([0, 128, 0], Converter::htmlToRgb(Color::GREEN)); |
| 148 | + self::assertEquals([173, 216, 230], Converter::htmlToRgb(Color::LIGHTBLUE)); |
| 149 | + self::assertEquals([224, 255, 255], Converter::htmlToRgb(Color::LIGHTCYAN)); |
| 150 | + self::assertEquals([211, 211, 211], Converter::htmlToRgb(Color::LIGHTGRAY)); |
| 151 | + self::assertEquals([144, 238, 144], Converter::htmlToRgb(Color::LIGHTGREEN)); |
| 152 | + self::assertEquals([255, 182, 193], Converter::htmlToRgb(Color::LIGHTPINK)); |
| 153 | + self::assertEquals([255, 255, 224], Converter::htmlToRgb(Color::LIGHTYELLOW)); |
| 154 | + self::assertEquals([0, 255, 0], Converter::htmlToRgb(Color::LIME)); |
| 155 | + self::assertEquals([255, 0, 255], Converter::htmlToRgb(Color::MAGENTA)); |
| 156 | + self::assertEquals([128, 0, 0], Converter::htmlToRgb(Color::MAROON)); |
| 157 | + self::assertEquals([0, 0, 128], Converter::htmlToRgb(Color::NAVY)); |
| 158 | + self::assertEquals([128, 128, 0], Converter::htmlToRgb(Color::OLIVE)); |
| 159 | + self::assertEquals([255, 165, 0], Converter::htmlToRgb(Color::ORANGE)); |
| 160 | + self::assertEquals([255, 192, 203], Converter::htmlToRgb(Color::PINK)); |
| 161 | + self::assertEquals([128, 0, 128], Converter::htmlToRgb(Color::PURPLE)); |
| 162 | + self::assertEquals([255, 0, 0], Converter::htmlToRgb(Color::RED)); |
| 163 | + self::assertEquals([192, 192, 192], Converter::htmlToRgb(Color::SILVER)); |
| 164 | + self::assertEquals([210, 180, 140], Converter::htmlToRgb(Color::TAN)); |
| 165 | + self::assertEquals([0, 128, 128], Converter::htmlToRgb(Color::TEAL)); |
| 166 | + self::assertEquals([64, 224, 208], Converter::htmlToRgb(Color::TURQUISE)); |
| 167 | + self::assertEquals([238, 130, 238], Converter::htmlToRgb(Color::VIOLET)); |
| 168 | + self::assertEquals([255, 255, 255], Converter::htmlToRgb(Color::WHITE)); |
| 169 | + self::assertEquals([255, 255, 0], Converter::htmlToRgb(Color::YELLOW)); |
121 | 170 | } |
122 | 171 |
|
123 | 172 | /** |
|
0 commit comments