From cbe0ae29d677dc4c68a69ab9add7a9c02808a9f3 Mon Sep 17 00:00:00 2001 From: daitingting Date: Mon, 11 Dec 2023 03:28:44 +0000 Subject: [PATCH] * Test getSqlParams. --- module/search/test/search.class.php | 13 +++++++++ module/search/test/tao/getsqlparams.php | 37 +++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100755 module/search/test/tao/getsqlparams.php diff --git a/module/search/test/search.class.php b/module/search/test/search.class.php index e09b51978e..a6513ff3a3 100644 --- a/module/search/test/search.class.php +++ b/module/search/test/search.class.php @@ -550,6 +550,19 @@ class searchTest return $this->objectModel->setWhere($where, $field, $operator, $value, $andOr); } + /** + * 获取查询语句的参数的测试用例。 + * Get sql params test. + * + * @param string $keywords + * @access public + * @return array + */ + public function getSqlParamsTest(string $keywords): array + { + return $this->objectModel->getSqlParams($keywords); + } + /** * 测试获取有权限的对象。 * Get allowed objects test. diff --git a/module/search/test/tao/getsqlparams.php b/module/search/test/tao/getsqlparams.php new file mode 100755 index 0000000000..59ff3d1f05 --- /dev/null +++ b/module/search/test/tao/getsqlparams.php @@ -0,0 +1,37 @@ +#!/usr/bin/env php +getSummary(); +timeout=0 +cid=1 + +- 测试获取搜索 test 关键词的 unicode @test_ +- 测试获取搜索 test 关键词的查询语句的 against 条件属性1 @(+"test_") +- 测试获取搜索 test 关键词的查询语句的 like 条件属性2 @OR title like '%test_%' OR content like '%test_%' +- 测试获取搜索 测试 关键词的 unicode @27979 35797 +- 测试获取搜索 测试 关键词的查询语句的 against 条件属性1 @(+"27979 35797") +- 测试获取搜索 测试 关键词的查询语句的 like 条件属性2 @OR title like '%27979 35797%' OR content like '%27979 35797%' +- 测试获取搜索 12345 关键词的 unicode @|12345| +- 测试获取搜索 12345 关键词的查询语句的 against 条件属性1 @(+"|12345|") (-" 12345 ") +- 测试获取搜索 12345 关键词的查询语句的 like 条件属性2 @~~ + +*/ + +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/search.class.php'; +su('admin'); + +$keywords = array('test', '测试', '12345'); + +$search = new searchTest(); +r($search->getSqlParamsTest($keywords[0])) && p('0') && e('test_'); //测试获取搜索 test 关键词的 unicode +r($search->getSqlParamsTest($keywords[0])) && p('1') && e('(+"test_")'); //测试获取搜索 test 关键词的查询语句的 against 条件 +r($search->getSqlParamsTest($keywords[0])) && p('2') && e("OR title like '%test_%' OR content like '%test_%'"); //测试获取搜索 test 关键词的查询语句的 like 条件 +r($search->getSqlParamsTest($keywords[1])) && p('0') && e('27979 35797'); //测试获取搜索 测试 关键词的 unicode +r($search->getSqlParamsTest($keywords[1])) && p('1') && e('(+"27979 35797")'); //测试获取搜索 测试 关键词的查询语句的 against 条件 +r($search->getSqlParamsTest($keywords[1])) && p('2') && e("OR title like '%27979 35797%' OR content like '%27979 35797%'"); //测试获取搜索 测试 关键词的查询语句的 like 条件 +r($search->getSqlParamsTest($keywords[2])) && p('0') && e('|12345|'); //测试获取搜索 12345 关键词的 unicode +r($search->getSqlParamsTest($keywords[2])) && p('1') && e('(+"|12345|") (-" 12345 ")'); //测试获取搜索 12345 关键词的查询语句的 against 条件 +r($search->getSqlParamsTest($keywords[2])) && p('2') && e('~~'); //测试获取搜索 12345 关键词的查询语句的 like 条件 \ No newline at end of file