選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

Tokenizer.php 957B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. class Tokenizer extends PHPUnit_Framework_TestCase
  3. {
  4. function setUp()
  5. {
  6. include_once __DIR__ . '/../lib/Roundcube/rcube_sieve_script.php';
  7. }
  8. function data_tokenizer()
  9. {
  10. return array(
  11. array(1, "text: #test\nThis is test ; message;\nMulti line\n.\n;\n", '"This is test ; message;\nMulti line"'),
  12. array(0, '["test1","test2"]', '[["test1","test2"]]'),
  13. array(1, '["test"]', '["test"]'),
  14. array(1, '"te\\"st"', '"te\\"st"'),
  15. array(0, 'test #comment', '["test"]'),
  16. array(0, "text:\ntest\n.\ntext:\ntest\n.\n", '["test","test"]'),
  17. array(1, '"\\a\\\\\\"a"', '"a\\\\\\"a"'),
  18. );
  19. }
  20. /**
  21. * @dataProvider data_tokenizer
  22. */
  23. function test_tokenizer($num, $input, $output)
  24. {
  25. $res = json_encode(rcube_sieve_script::tokenize($input, $num));
  26. $this->assertEquals(trim($res), trim($output));
  27. }
  28. }