SUBSTITUTE.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?php
  2. return [
  3. [
  4. 'QWDFGYUIOP',
  5. 'QWERTYUIOP',
  6. 'ERT',
  7. 'DFG',
  8. ],
  9. [
  10. 'Mxrk Bxker',
  11. 'Mark Baker',
  12. 'a',
  13. 'x',
  14. ],
  15. [
  16. 'Mxrk Baker',
  17. 'Mark Baker',
  18. 'a',
  19. 'x',
  20. 1,
  21. ],
  22. [
  23. 'Mark Bxker',
  24. 'Mark Baker',
  25. 'a',
  26. 'x',
  27. 2,
  28. ],
  29. [
  30. 'Mark Bakker',
  31. 'Mark Baker',
  32. 'k',
  33. 'kk',
  34. 2,
  35. ],
  36. [
  37. 'Mark Baker',
  38. 'Mark Baker',
  39. 'x',
  40. 'a',
  41. 1,
  42. ],
  43. [
  44. 'Ενα δύο αρία αέσσερα πέναε',
  45. 'Ενα δύο τρία τέσσερα πέντε',
  46. 'τ',
  47. 'α',
  48. ],
  49. [
  50. 'Ενα δύο τρία αέσσερα πέντε',
  51. 'Ενα δύο τρία τέσσερα πέντε',
  52. 'τ',
  53. 'α',
  54. 2,
  55. ],
  56. [
  57. 'Ενα δύο τρία ατέσσερα πέντε',
  58. 'Ενα δύο τρία τέσσερα πέντε',
  59. 'τ',
  60. 'ατ',
  61. 2,
  62. ],
  63. 'Unicode equivalence is not supported' => [
  64. "\u{0061}\u{030A}",
  65. "\u{0061}\u{030A}",
  66. "\u{00E5}",
  67. 'x',
  68. ],
  69. 'Multibytes are supported' => [
  70. 'x',
  71. "\u{00E5}",
  72. "\u{00E5}",
  73. 'x',
  74. ],
  75. 'no arguments' => ['exception'],
  76. 'one argument' => ['exception', 'a'],
  77. 'two arguments' => ['exception', 'a', 'b'],
  78. 'negative instance' => ['#VALUE!', 'abcdefg', 'def', 123, -1],
  79. 'non-numeric instance' => ['#VALUE!', 'abcdefg', 'def', 123, 'xyz'],
  80. 'null instance' => ['abc123g', 'abcdefg', 'def', 123],
  81. '0 instance' => ['#VALUE!', 'abcdefg', 'def', 123, 0],
  82. '1 instance' => ['abc123g', 'abcdefg', 'def', 123, 1],
  83. 'past last instance' => ['abcdefg', 'abcdefg', 'def', 123, 2],
  84. 'bool false instance' => ['#VALUE!', 'abcdefg', 'def', '123', false],
  85. 'bool true instance' => ['#VALUE!', 'abcdefg', 'def', '123', true],
  86. 'bool text' => ['FA-SE', false, 'L', '-'],
  87. 'propagate REF' => ['#REF!', '=sheet99!A1', 'A', 'x'],
  88. 'propagate DIV0' => ['#DIV/0!', 'hello', '=1/0', 1, 'x'],
  89. 'string which just sneaks in' => [
  90. str_repeat('A', 32766) . 'C',
  91. str_repeat('A', 32766) . 'B',
  92. 'B',
  93. 'C',
  94. ],
  95. 'string which overflows' => [
  96. '#VALUE!',
  97. str_repeat('A', 32766) . 'B',
  98. 'B',
  99. 'CC',
  100. ],
  101. 'okay long string instance' => [
  102. 'AAAAB' . str_repeat('A', 32762),
  103. str_repeat('A', 32767),
  104. 'A',
  105. 'B',
  106. 5,
  107. ],
  108. 'overflow long string instance' => [
  109. '#VALUE!',
  110. str_repeat('A', 32767),
  111. 'A',
  112. 'BB',
  113. 5,
  114. ],
  115. ];