[ "\u{0061}\u{030A}", "\u{0061}\u{030A}", "\u{00E5}", 'x', ], 'Multibytes are supported' => [ 'x', "\u{00E5}", "\u{00E5}", 'x', ], 'no arguments' => ['exception'], 'one argument' => ['exception', 'a'], 'two arguments' => ['exception', 'a', 'b'], 'negative instance' => ['#VALUE!', 'abcdefg', 'def', 123, -1], 'non-numeric instance' => ['#VALUE!', 'abcdefg', 'def', 123, 'xyz'], 'null instance' => ['abc123g', 'abcdefg', 'def', 123], '0 instance' => ['#VALUE!', 'abcdefg', 'def', 123, 0], '1 instance' => ['abc123g', 'abcdefg', 'def', 123, 1], 'past last instance' => ['abcdefg', 'abcdefg', 'def', 123, 2], 'bool false instance' => ['#VALUE!', 'abcdefg', 'def', '123', false], 'bool true instance' => ['#VALUE!', 'abcdefg', 'def', '123', true], 'bool text' => ['FA-SE', false, 'L', '-'], 'propagate REF' => ['#REF!', '=sheet99!A1', 'A', 'x'], 'propagate DIV0' => ['#DIV/0!', 'hello', '=1/0', 1, 'x'], 'string which just sneaks in' => [ str_repeat('A', 32766) . 'C', str_repeat('A', 32766) . 'B', 'B', 'C', ], 'string which overflows' => [ '#VALUE!', str_repeat('A', 32766) . 'B', 'B', 'CC', ], 'okay long string instance' => [ 'AAAAB' . str_repeat('A', 32762), str_repeat('A', 32767), 'A', 'B', 5, ], 'overflow long string instance' => [ '#VALUE!', str_repeat('A', 32767), 'A', 'BB', 5, ], ];