TextAfterTest.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Calculation\Functions\TextData;
  3. class TextAfterTest extends AllSetupTeardown
  4. {
  5. /**
  6. * @dataProvider providerTEXTAFTER
  7. */
  8. public function testTextAfter(string $expectedResult, array $arguments): void
  9. {
  10. $text = $arguments[0];
  11. $delimiter = $arguments[1];
  12. $args = (is_array($delimiter)) ? 'A1, {A2,A3}' : 'A1, A2';
  13. $args .= (isset($arguments[2])) ? ", {$arguments[2]}" : ',';
  14. $args .= (isset($arguments[3])) ? ", {$arguments[3]}" : ',';
  15. $args .= (isset($arguments[4])) ? ", {$arguments[4]}" : ',';
  16. $worksheet = $this->getSheet();
  17. $worksheet->getCell('A1')->setValue($text);
  18. $worksheet->getCell('A2')->setValue((is_array($delimiter)) ? $delimiter[0] : $delimiter);
  19. if (is_array($delimiter)) {
  20. $worksheet->getCell('A3')->setValue($delimiter[1]);
  21. }
  22. $worksheet->getCell('B1')->setValue("=TEXTAFTER({$args})");
  23. $result = $worksheet->getCell('B1')->getCalculatedValue();
  24. self::assertEquals($expectedResult, $result);
  25. }
  26. public function providerTEXTAFTER(): array
  27. {
  28. return require 'tests/data/Calculation/TextData/TEXTAFTER.php';
  29. }
  30. }