1<?php 2 3namespace dokuwiki\plugin\struct\test; 4 5/** 6 * @group plugin_struct 7 * @group plugins 8 */ 9class helper_db_struct_test extends StructTest 10{ 11 12 public function setUp(): void 13 { 14 parent::setUp(); 15 16 $this->loadSchemaJSON('schema1'); 17 $this->loadSchemaJSON('schema2'); 18 } 19 20 public function test_json() 21 { 22 /** @var \helper_plugin_struct_db $helper */ 23 $helper = plugin_load('helper', 'struct_db'); 24 $sqlite = $helper->getDB(); 25 26 $res = $sqlite->query("SELECT STRUCT_JSON('foo', 'bar') "); 27 $result = $sqlite->res2single($res); 28 $sqlite->res_close($res); 29 $expect = '["foo","bar"]'; 30 $this->assertEquals($expect, $result); 31 32 $res = $sqlite->query("SELECT STRUCT_JSON(id, tbl) AS col FROM schemas"); 33 $result = $sqlite->res2arr($res); 34 $sqlite->res_close($res); 35 36 $expect = array( 37 array('col' => '[1,"schema1"]'), 38 array('col' => '[2,"schema2"]'), 39 ); 40 $this->assertEquals($expect, $result); 41 } 42 43} 44