LineStylesTest.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Chart;
  3. use PhpOffice\PhpSpreadsheet\Chart\GridLines;
  4. use PhpOffice\PhpSpreadsheet\Chart\Properties;
  5. use PHPUnit\Framework\TestCase;
  6. class LineStylesTest extends TestCase
  7. {
  8. public function testLineStyles(): void
  9. {
  10. $gridlines1 = new GridLines();
  11. $originalLineStyle = $gridlines1->getLineStyleArray();
  12. $gridlines1->setLineStyleProperties(
  13. 3, // lineWidth
  14. Properties::LINE_STYLE_COMPOUND_DOUBLE, // compoundType
  15. '', // dashType
  16. Properties::LINE_STYLE_CAP_SQUARE, // capType
  17. '', // jointType
  18. '', // headArrowType
  19. '', // headArrowSize
  20. '', // endArrowType
  21. '', // endArrowSize
  22. 'lg', // headArrowWidth
  23. 'med', // headArrowLength
  24. '', // endArrowWidth
  25. '' // endArrowLength
  26. );
  27. $gridlines2 = new GridLines();
  28. $lineStyleProperties = [
  29. 'width' => 3,
  30. 'compound' => Properties::LINE_STYLE_COMPOUND_DOUBLE,
  31. 'cap' => Properties::LINE_STYLE_CAP_SQUARE,
  32. 'arrow' => ['head' => ['w' => 'lg', 'len' => 'med']],
  33. ];
  34. $gridlines2->setLineStyleArray($lineStyleProperties);
  35. self::assertSame($gridlines1->getLineStyleArray(), $gridlines2->getLineStyleArray());
  36. $gridlines2->setLineStyleArray(); // resets line styles
  37. self::assertSame($originalLineStyle, $gridlines2->getLineStyleArray());
  38. }
  39. }