Class: TC_DL_Driver
- Inherits:
-
Test::Unit::TestCase
- Object
- Test::Unit::TestCase
- TC_DL_Driver
- Defined in:
- test/driver/dl/tc_driver.rb
Instance Method Summary collapse
- #create_foo ⇒ Object
- #populate_foo ⇒ Object
- #setup ⇒ Object
- #teardown ⇒ Object
- #test_bind_blob ⇒ Object
- #test_bind_double ⇒ Object
- #test_bind_int ⇒ Object
- #test_bind_null ⇒ Object
- #test_bind_parameter_index ⇒ Object
- #test_bind_parameter_name ⇒ Object
- #test_bind_text ⇒ Object
- #test_bind_text16 ⇒ Object
- #test_complete ⇒ Object
- #test_complete16 ⇒ Object
- #test_complete_fail ⇒ Object
- #test_errmsg ⇒ Object
- #test_errmsg16 ⇒ Object
- #test_open ⇒ Object
- #test_open_utf16 ⇒ Object
- #test_prepare ⇒ Object
- #test_prepare16 ⇒ Object
- #test_prepare16_remainder ⇒ Object
- #test_prepare_error ⇒ Object
- #test_prepare_remainder ⇒ Object
- #test_step ⇒ Object
- #test_step_fail ⇒ Object
- #utf16ify(str) ⇒ Object
Instance Method Details
#create_foo ⇒ Object
106 107 108 109 110 111 112 |
# File 'test/driver/dl/tc_driver.rb', line 106 def create_foo result, @db = @driver.open( @dbname ) sql = "create table foo ( a, b )" result, handle, = @driver.prepare( @db, sql ) @driver.step( handle ) @driver.finalize( handle ) end |
#populate_foo ⇒ Object
114 115 116 117 118 119 120 |
# File 'test/driver/dl/tc_driver.rb', line 114 def populate_foo create_foo sql = "insert into foo values ( 100, 200 )" result, handle, = @driver.prepare( @db, sql ) @driver.step( handle ) @driver.finalize( handle ) end |
#setup ⇒ Object
15 16 17 18 19 |
# File 'test/driver/dl/tc_driver.rb', line 15 def setup @driver = SQLite3::Driver::DL::Driver.new @dbname = "test.db" @db = nil end |
#teardown ⇒ Object
21 22 23 24 |
# File 'test/driver/dl/tc_driver.rb', line 21 def teardown @driver.close( @db ) rescue nil File.delete @dbname rescue nil end |
#test_bind_blob ⇒ Object
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
# File 'test/driver/dl/tc_driver.rb', line 142 def test_bind_blob create_foo sql = "insert into foo (b) values (?)" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.bind_blob( handle, 1, "a\0b\1c\2d\0e" ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::DONE, result result = @driver.finalize( handle ) assert_equal SQLite3::Constants::ErrorCode::OK, result sql = "select b from foo" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::ROW, result assert_equal "a\0b\1c\2d\0e", @driver.column_blob( handle, 0 ) result = @driver.finalize( handle ) assert_equal SQLite3::Constants::ErrorCode::OK, result end |
#test_bind_double ⇒ Object
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'test/driver/dl/tc_driver.rb', line 163 def test_bind_double create_foo sql = "insert into foo (b) values (?)" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.bind_double( handle, 1, 3.14 ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::DONE, result result = @driver.finalize( handle ) assert_equal SQLite3::Constants::ErrorCode::OK, result sql = "select b from foo" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::ROW, result assert_equal 3.14, @driver.column_double( handle, 0 ) result = @driver.finalize( handle ) assert_equal SQLite3::Constants::ErrorCode::OK, result end |
#test_bind_int ⇒ Object
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'test/driver/dl/tc_driver.rb', line 184 def test_bind_int create_foo sql = "insert into foo (b) values (?)" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.bind_int( handle, 1, 14 ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::DONE, result result = @driver.finalize( handle ) assert_equal SQLite3::Constants::ErrorCode::OK, result sql = "select b from foo" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::ROW, result assert_equal 14, @driver.column_int( handle, 0 ) result = @driver.finalize( handle ) assert_equal SQLite3::Constants::ErrorCode::OK, result end |
#test_bind_null ⇒ Object
205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 |
# File 'test/driver/dl/tc_driver.rb', line 205 def test_bind_null create_foo sql = "insert into foo (b) values (?)" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.bind_null( handle, 1 ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::DONE, result result = @driver.finalize( handle ) assert_equal SQLite3::Constants::ErrorCode::OK, result sql = "select b from foo" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::ROW, result assert_equal SQLite3::Constants::ColumnType::NULL, @driver.column_type( handle, 0 ) result = @driver.finalize( handle ) assert_equal SQLite3::Constants::ErrorCode::OK, result end |
#test_bind_parameter_index ⇒ Object
269 270 271 272 273 274 275 276 277 278 279 |
# File 'test/driver/dl/tc_driver.rb', line 269 def test_bind_parameter_index create_foo sql = "insert into foo (b) values (:hello)" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.bind_parameter_index( handle, ":hello" ) assert_equal 1, result result = @driver.bind_parameter_index( handle, ":foo" ) assert_equal 0, result @driver.finalize( handle ) end |
#test_bind_parameter_name ⇒ Object
281 282 283 284 285 286 287 288 289 |
# File 'test/driver/dl/tc_driver.rb', line 281 def test_bind_parameter_name create_foo sql = "insert into foo (a,b) values (?,:foo)" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result assert_nil nil, @driver.bind_parameter_name(handle,1) assert_equal ":foo", @driver.bind_parameter_name(handle,2) @driver.finalize( handle ) end |
#test_bind_text ⇒ Object
227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 |
# File 'test/driver/dl/tc_driver.rb', line 227 def test_bind_text create_foo sql = "insert into foo (b) values (?)" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.bind_text( handle, 1, "hello, world" ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::DONE, result result = @driver.finalize( handle ) assert_equal SQLite3::Constants::ErrorCode::OK, result sql = "select b from foo" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::ROW, result assert_equal "hello, world", @driver.column_text( handle, 0 ) result = @driver.finalize( handle ) assert_equal SQLite3::Constants::ErrorCode::OK, result end |
#test_bind_text16 ⇒ Object
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 |
# File 'test/driver/dl/tc_driver.rb', line 248 def test_bind_text16 create_foo sql = "insert into foo (b) values (?)" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.bind_text( handle, 1, utf16ify("hello, world"), true ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::DONE, result result = @driver.finalize( handle ) assert_equal SQLite3::Constants::ErrorCode::OK, result sql = "select b from foo" result, handle, = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::ROW, result assert_equal "hello, world", @driver.column_text( handle, 0 ) result = @driver.finalize( handle ) assert_equal SQLite3::Constants::ErrorCode::OK, result end |
#test_complete ⇒ Object
94 95 96 |
# File 'test/driver/dl/tc_driver.rb', line 94 def test_complete assert @driver.complete?( "select * from foo;" ) end |
#test_complete16 ⇒ Object
102 103 104 |
# File 'test/driver/dl/tc_driver.rb', line 102 def test_complete16 assert @driver.complete?( utf16ify("select * from foo;"), true ) end |
#test_complete_fail ⇒ Object
98 99 100 |
# File 'test/driver/dl/tc_driver.rb', line 98 def test_complete_fail assert !@driver.complete?( "select * from foo" ) end |
#test_errmsg ⇒ Object
39 40 41 42 43 |
# File 'test/driver/dl/tc_driver.rb', line 39 def test_errmsg result, @db = @driver.open( @dbname ) msg = @driver.errmsg( @db ) assert_equal msg, "not an error" end |
#test_errmsg16 ⇒ Object
45 46 47 48 49 |
# File 'test/driver/dl/tc_driver.rb', line 45 def test_errmsg16 result, @db = @driver.open( @dbname ) msg = @driver.errmsg( @db, true ) assert_equal msg, utf16ify( "not an error" ) end |
#test_open ⇒ Object
26 27 28 29 30 |
# File 'test/driver/dl/tc_driver.rb', line 26 def test_open result, @db = @driver.open( @dbname ) assert_equal SQLite3::Constants::ErrorCode::OK, result assert File.exist?( @dbname ) end |
#test_open_utf16 ⇒ Object
32 33 34 35 36 37 |
# File 'test/driver/dl/tc_driver.rb', line 32 def test_open_utf16 name = utf16ify( @dbname ) result, @db = @driver.open( name, true ) assert_equal SQLite3::Constants::ErrorCode::OK, result assert File.exist?( @dbname ) end |
#test_prepare ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'test/driver/dl/tc_driver.rb', line 51 def test_prepare result, @db = @driver.open( @dbname ) sql = "create table foo ( a, b )" result, handle, remainder = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result assert_equal "", remainder @driver.finalize( handle ) end |
#test_prepare16 ⇒ Object
76 77 78 79 80 81 82 83 |
# File 'test/driver/dl/tc_driver.rb', line 76 def test_prepare16 result, @db = @driver.open( @dbname ) sql = utf16ify( "create table foo ( a, b )" ) result, handle, remainder = @driver.prepare( @db, sql, true ) assert_equal SQLite3::Constants::ErrorCode::OK, result assert_equal "", remainder @driver.finalize( handle ) end |
#test_prepare16_remainder ⇒ Object
85 86 87 88 89 90 91 92 |
# File 'test/driver/dl/tc_driver.rb', line 85 def test_prepare16_remainder result, @db = @driver.open( @dbname ) sql = utf16ify( "create table foo ( a, b ); select * from foo" ) result, handle, remainder = @driver.prepare( @db, sql, true ) assert_equal SQLite3::Constants::ErrorCode::OK, result assert_equal utf16ify( " select * from foo" ), remainder @driver.finalize( handle ) end |
#test_prepare_error ⇒ Object
60 61 62 63 64 65 |
# File 'test/driver/dl/tc_driver.rb', line 60 def test_prepare_error result, @db = @driver.open( @dbname ) sql = "create tble foo ( a, b )" result, handle, remainder = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::ERROR, result end |
#test_prepare_remainder ⇒ Object
67 68 69 70 71 72 73 74 |
# File 'test/driver/dl/tc_driver.rb', line 67 def test_prepare_remainder result, @db = @driver.open( @dbname ) sql = "create table foo ( a, b ); select * from foo" result, handle, remainder = @driver.prepare( @db, sql ) assert_equal SQLite3::Constants::ErrorCode::OK, result assert_equal " select * from foo", remainder @driver.finalize( handle ) end |
#test_step ⇒ Object
122 123 124 125 126 127 128 129 130 131 |
# File 'test/driver/dl/tc_driver.rb', line 122 def test_step populate_foo sql = "select * from foo" result, handle, = @driver.prepare( @db, sql ) result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::ROW, result result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::DONE, result @driver.finalize( handle ) end |
#test_step_fail ⇒ Object
133 134 135 136 137 138 139 140 |
# File 'test/driver/dl/tc_driver.rb', line 133 def test_step_fail populate_foo sql = "select * from" result, handle, = @driver.prepare( @db, sql ) result = @driver.step( handle ) assert_equal SQLite3::Constants::ErrorCode::MISUSE, result @driver.finalize( handle ) end |
#utf16ify(str) ⇒ Object
10 11 12 13 |
# File 'test/driver/dl/tc_driver.rb', line 10 def utf16ify( str ) chars = str.split(//) chars.zip(["\0"] * chars.length).flatten.join end |