XmlStyleCoverageTest.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Reader\Xml;
  3. use PhpOffice\PhpSpreadsheet\Reader\Xml;
  4. use PhpOffice\PhpSpreadsheet\Style\Border;
  5. use PhpOffice\PhpSpreadsheet\Style\Fill;
  6. use PHPUnit\Framework\TestCase;
  7. class XmlStyleCoverageTest extends TestCase
  8. {
  9. /**
  10. * @dataProvider providerBorderStyle
  11. */
  12. public function testBorderStyle(string $style, string $expectedResult): void
  13. {
  14. $styles = Xml::XmlMappings();
  15. $borders = $styles['borderStyle'];
  16. self::assertEquals($expectedResult, $borders[$style]);
  17. }
  18. public function testBorderStyleCoverage(): void
  19. {
  20. $styles = Xml::XmlMappings();
  21. $expected = $styles['borderStyle'];
  22. $covered = [];
  23. foreach ($expected as $key => $val) {
  24. $covered[$key] = 0;
  25. }
  26. $tests = $this->providerBorderStyle();
  27. foreach ($tests as $test) {
  28. $covered[$test[0]] = 1;
  29. }
  30. foreach ($covered as $key => $val) {
  31. self::assertEquals(1, $val, "Borderstyle $key not tested");
  32. }
  33. }
  34. /**
  35. * @dataProvider providerfillType
  36. */
  37. public function testFillType(string $style, string $expectedResult): void
  38. {
  39. $styles = Xml::xmlMappings();
  40. $borders = $styles['fillType'];
  41. self::assertEquals($expectedResult, $borders[$style]);
  42. }
  43. public function testFillTypeCoverage(): void
  44. {
  45. $styles = Xml::XmlMappings();
  46. $expected = $styles['fillType'];
  47. $covered = [];
  48. foreach ($expected as $key => $val) {
  49. $covered[$key] = 0;
  50. }
  51. $tests = $this->providerfillType();
  52. foreach ($tests as $test) {
  53. $covered[$test[0]] = 1;
  54. }
  55. foreach ($covered as $key => $val) {
  56. self::assertEquals(1, $val, "fillType $key not tested");
  57. }
  58. }
  59. public function providerBorderStyle(): array
  60. {
  61. return [
  62. ['1continuous', Border::BORDER_THIN],
  63. ['1dash', Border::BORDER_DASHED],
  64. ['1dashdot', Border::BORDER_DASHDOT],
  65. ['1dashdotdot', Border::BORDER_DASHDOTDOT],
  66. ['1dot', Border::BORDER_DOTTED],
  67. ['1double', Border::BORDER_DOUBLE],
  68. ['2continuous', Border::BORDER_MEDIUM],
  69. ['2dash', Border::BORDER_MEDIUMDASHED],
  70. ['2dashdot', Border::BORDER_MEDIUMDASHDOT],
  71. ['2dashdotdot', Border::BORDER_MEDIUMDASHDOTDOT],
  72. ['2dot', Border::BORDER_DOTTED],
  73. ['2double', Border::BORDER_DOUBLE],
  74. ['3continuous', Border::BORDER_THICK],
  75. ['3dash', Border::BORDER_MEDIUMDASHED],
  76. ['3dashdot', Border::BORDER_MEDIUMDASHDOT],
  77. ['3dashdotdot', Border::BORDER_MEDIUMDASHDOTDOT],
  78. ['3dot', Border::BORDER_DOTTED],
  79. ['3double', Border::BORDER_DOUBLE],
  80. ];
  81. }
  82. public function providerFillType(): array
  83. {
  84. return [
  85. ['solid', Fill::FILL_SOLID],
  86. ['gray75', Fill::FILL_PATTERN_DARKGRAY],
  87. ['gray50', Fill::FILL_PATTERN_MEDIUMGRAY],
  88. ['gray25', Fill::FILL_PATTERN_LIGHTGRAY],
  89. ['gray125', Fill::FILL_PATTERN_GRAY125],
  90. ['gray0625', Fill::FILL_PATTERN_GRAY0625],
  91. ['horzstripe', Fill::FILL_PATTERN_DARKHORIZONTAL],
  92. ['vertstripe', Fill::FILL_PATTERN_DARKVERTICAL],
  93. ['reversediagstripe', Fill::FILL_PATTERN_DARKUP],
  94. ['diagstripe', Fill::FILL_PATTERN_DARKDOWN],
  95. ['diagcross', Fill::FILL_PATTERN_DARKGRID],
  96. ['thickdiagcross', Fill::FILL_PATTERN_DARKTRELLIS],
  97. ['thinhorzstripe', Fill::FILL_PATTERN_LIGHTHORIZONTAL],
  98. ['thinvertstripe', Fill::FILL_PATTERN_LIGHTVERTICAL],
  99. ['thinreversediagstripe', Fill::FILL_PATTERN_LIGHTUP],
  100. ['thindiagstripe', Fill::FILL_PATTERN_LIGHTDOWN],
  101. ['thinhorzcross', Fill::FILL_PATTERN_LIGHTGRID],
  102. ['thindiagcross', Fill::FILL_PATTERN_LIGHTTRELLIS],
  103. ];
  104. }
  105. }