/** * Sieve script parsing * * @dataProvider data_parser */ function test_parser($input, $output, $message) { // get capabilities list from the script $caps = array(); if (preg_match('/require \\[([a-z0-9", ]+)\\]/', $input, $m)) { foreach (explode(',', $m[1]) as $cap) { $caps[] = trim($cap, '" '); } } $script = new rcube_sieve_script($input, $caps); $result = $script->as_text(); $this->assertEquals(trim($result), trim($output), $message); }
/** * @dataProvider data_tokenizer */ function test_tokenizer($num, $input, $output) { $res = json_encode(rcube_sieve_script::tokenize($input, $num)); $this->assertEquals(trim($res), trim($output)); }