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