exampleEntry = "---- datatable employees----\n" . "cols : %pageid%, employees, deadline_dt, website_url, volume\n" . 'headers : Details, "Assigned Employees \#no", stuff outside quotes """Deadline, ", Personal website, $$$'."\n" . "max : 10\n" . "filter : type=web development\n" . "sort : ^volume\n" . "dynfilters: 1\n" . "summarize : 1\n" . "align : c\n" . "rownumbers: 1\n" . "widths : 50px, 20em, - , 10%\n" . "----"; } function testHandle() { $plugin = new syntax_plugin_dataau_table(); $handler = new Doku_Handler(); $result = $plugin->handle($this->exampleEntry, 0, 10, $handler); $dataau = array( 'classes' => 'employees', 'limit' => 10, 'dynfilters' => 1, 'summarize' => 1, 'rownumbers' => 1, 'sepbyheaders' => '', 'headers' => array( '0' => 'Details', '1' => 'Assigned Employees #no', '2' => '"Deadline, ', '3' => 'Personal website', '4' => '$$$' ), 'widths' => array( '0' => '50px', '1' => '20em', '2' => '-', '3' => '10%' ), 'filter' => array( '0' => array( 'key' => 'type', 'value' => 'web development', 'compare' => '=', 'colname' => 'type', 'type' => '', 'logic' => 'AND' ) ), 'cols' => array( '%pageid%' => array( 'colname' => '%pageid%', 'multi' => '', 'key' => '%pageid%', 'origkey' => '%pageid%', 'title' => 'Title', 'type' => 'page', ), 'employee' => array( 'colname' => 'employees', 'multi' => 1, 'key' => 'employee', 'origkey' => 'employee', 'title' => 'employee', 'type' => '' ), 'deadline' => array( 'colname' => 'deadline_dt', 'multi' => '', 'key' => 'deadline', 'origkey' => 'deadline', 'title' => 'deadline', 'type' => 'dt' ), 'website' => array( 'colname' => 'website_url', 'multi' => '', 'key' => 'website', 'origkey' => 'website', 'title' => 'website', 'type' => 'url' ), 'volume' => array( 'colname' => 'volume', 'multi' => '', 'key' => 'volume', 'origkey' => 'volume', 'title' => 'volume', 'type' => '' ), ), 'sort' => array( '0' => 'volume', '1' => 'DESC' ), 'align' => array( '0' => 'center' ), 'sql' => "SELECT \" \" || pages.page, group_concat(\" \" || T1.value,' '), group_concat(\" \" || T2.value,' '), group_concat(\" \" || T3.value,' '), group_concat(\" \" || T4.value,' ') FROM ( SELECT DISTINCT pages.pid AS pid FROM pages LEFT JOIN dataau AS T1 ON T1.pid = pages.pid AND T1.key = 'type' WHERE 1 = 1 AND T1.value = 'web development' ) AS W1 LEFT JOIN dataau AS T1 ON T1.pid = W1.pid AND T1.key = 'employee' LEFT JOIN dataau AS T2 ON T2.pid = W1.pid AND T2.key = 'deadline' LEFT JOIN dataau AS T3 ON T3.pid = W1.pid AND T3.key = 'website' LEFT JOIN dataau AS T4 ON T4.pid = W1.pid AND T4.key = 'volume' LEFT JOIN pages ON W1.pid=pages.pid GROUP BY W1.pid ORDER BY T4.value DESC LIMIT 11", 'cur_param' => array() ); $this->assertEquals($dataau, $result, 'Data array corrupted'); } }