Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
TestVPrepare.cpp File Reference
#include "dbwrappers/sqlitedataset.h"
#include <array>
#include <string>
#include <gtest/gtest.h>

Classes

struct  EscapeConversionsTest
 
class  EscapeConversionsTester
 
struct  VPrepareNoParamTest
 
class  VPrepareNoParamTester
 
struct  VPrepareStringParamTest
 
class  VPrepareStringParamTester
 

Functions

 TEST_P (EscapeConversionsTester, EscapeStringConversions)
 
 INSTANTIATE_TEST_SUITE_P (TestDbWrappers, EscapeConversionsTester, testing::ValuesIn(EscapeConversionsTests))
 
 TEST_P (VPrepareNoParamTester, Sqlite)
 
 INSTANTIATE_TEST_SUITE_P (TestDbWrappers, VPrepareNoParamTester, testing::ValuesIn(VPrepareNoParamTests))
 
 TEST_P (VPrepareStringParamTester, Sqlite)
 
 INSTANTIATE_TEST_SUITE_P (TestDbWrappers, VPrepareStringParamTester, testing::ValuesIn(VPrepareStringParamTests))
 

Variables

const auto EscapeConversionsTests
 
const auto VPrepareNoParamTests
 
const auto VPrepareStringParamTests
 

Function Documentation

◆ INSTANTIATE_TEST_SUITE_P() [1/3]

INSTANTIATE_TEST_SUITE_P ( TestDbWrappers ,
EscapeConversionsTester ,
testing::ValuesIn(EscapeConversionsTests)  )

◆ INSTANTIATE_TEST_SUITE_P() [2/3]

INSTANTIATE_TEST_SUITE_P ( TestDbWrappers ,
VPrepareNoParamTester ,
testing::ValuesIn(VPrepareNoParamTests)  )

◆ INSTANTIATE_TEST_SUITE_P() [3/3]

INSTANTIATE_TEST_SUITE_P ( TestDbWrappers ,
VPrepareStringParamTester ,
testing::ValuesIn(VPrepareStringParamTests)  )

◆ TEST_P() [1/3]

TEST_P ( EscapeConversionsTester ,
EscapeStringConversions  )

◆ TEST_P() [2/3]

TEST_P ( VPrepareNoParamTester ,
Sqlite  )

◆ TEST_P() [3/3]

TEST_P ( VPrepareStringParamTester ,
Sqlite  )

Variable Documentation

◆ EscapeConversionsTests

const auto EscapeConversionsTests
Initial value:
= std::array{
EscapeConversionsTest{"SELECT foo", "SELECT foo"},
EscapeConversionsTest{"%s", "%q"},
EscapeConversionsTest{"WHERE name = '%s'", "WHERE name = '%q'"},
EscapeConversionsTest{"%s%s", "%q%q"},
EscapeConversionsTest{"%%s", "%%s"},
EscapeConversionsTest{"strftime(\"%%s\",c01)", "strftime(\"%%s\",c01)"},
EscapeConversionsTest{"'%%%s%%'", "'%%%q%%'"},
EscapeConversionsTest{"'%%%s'", "'%%%q'"},
EscapeConversionsTest{"'%s%%'", "'%q%%'"},
EscapeConversionsTest{"%%s '%s'", "%%s '%q'"},
EscapeConversionsTest{"%i %s", "%i %q"},
EscapeConversionsTest{"WHERE c%02d LIKE '%%%s%%'", "WHERE c%02d LIKE '%%%q%%'"},
EscapeConversionsTest{"100%", "100%"},
}
Definition TestVPrepare.cpp:52

◆ VPrepareNoParamTests

const auto VPrepareNoParamTests
Initial value:
= std::array{
VPrepareNoParamTest{"foo", "foo", "foo"},
VPrepareNoParamTest{"SELECT %%s", "SELECT %s", "SELECT %s"},
VPrepareNoParamTest{"SELECT %%", "SELECT %", "SELECT %"},
VPrepareNoParamTest{"SELECT %%foo", "SELECT %foo", "SELECT %foo"},
VPrepareNoParamTest{"strftime(\"%%s\",c01)", "strftime(\"%s\",c01)", "strftime(\"%s\",c01)"},
VPrepareNoParamTest{"CAST(strftime(\"%%s\",c01) AS INTEGER)",
"CAST(strftime(\"%s\",c01) AS INTEGER)",
"CAST(UNIX_TIMESTAMP(c01) AS SIGNED INTEGER)"},
VPrepareNoParamTest{"CAST(strftime(\"%%s\",c01) AS REAL)", "CAST(strftime(\"%s\",c01) AS REAL)",
"CAST(strftime(\"%s\",c01) AS REAL)"},
VPrepareNoParamTest{"SELECT RANDOM(), foo", "SELECT RANDOM(), foo", "SELECT RAND(), foo"},
VPrepareNoParamTest{"SELECT CAST(foo AS TEXT), bar", "SELECT CAST(foo AS TEXT), bar",
"SELECT CAST(foo AS CHAR), bar"},
VPrepareNoParamTest{"SELECT CAST(foo AS INTEGER), bar", "SELECT CAST(foo AS INTEGER), bar",
"SELECT CAST(foo AS SIGNED INTEGER), bar"},
VPrepareNoParamTest{"SELECT CAST(foo AS REAL), bar", "SELECT CAST(foo AS REAL), bar",
"SELECT CAST(foo AS REAL), bar"},
VPrepareNoParamTest{"SELECT foo COLLATE NOCASE, bar", "SELECT foo COLLATE NOCASE, bar",
"SELECT foo, bar"},
VPrepareNoParamTest{"SELECT foo COLLATE ALPHANUM, bar", "SELECT foo COLLATE ALPHANUM, bar",
"SELECT foo, bar"},
VPrepareNoParamTest{"SELECT foo COLLATE BINARY, bar", "SELECT foo COLLATE BINARY, bar",
"SELECT foo COLLATE BINARY, bar"},
}
Definition TestVPrepare.cpp:98

◆ VPrepareStringParamTests

const auto VPrepareStringParamTests
Initial value:
= std::array{
VPrepareStringParamTest{"WHERE name = '%s'", "O'Brien", "WHERE name = 'O''Brien'"},
VPrepareStringParamTest{"WHERE name LIKE '%%%s%%'", "O'Brien", "WHERE name LIKE '%O''Brien%'"},
VPrepareStringParamTest{"WHERE name LIKE '%%%s'", "O'Brien", "WHERE name LIKE '%O''Brien'"},
VPrepareStringParamTest{"WHERE name LIKE '%s%%'", "O'Brien", "WHERE name LIKE 'O''Brien%'"},
VPrepareStringParamTest{"CAST(strftime(\"%%s\",c01) AS REAL) = '%s'", "O'Brien",
"CAST(strftime(\"%s\",c01) AS REAL) = 'O''Brien'"},
}
Definition TestVPrepare.cpp:165