1# 2006 September 4
2#
3# The author disclaims copyright to this source code.  In place of
4# a legal notice, here is a blessing:
5#
6#    May you do good and not evil.
7#    May you find forgiveness for yourself and forgive others.
8#    May you share freely, never taking more than you give.
9#
10#***********************************************************************
11# This file implements regression tests for SQLite library.
12#
13# This file implements tests to make sure sqlite3_value_text()
14# always returns a null-terminated string.
15#
16# $Id: misc6.test,v 1.3 2007/04/23 23:56:32 drh Exp $
17
18set testdir [file dirname $argv0]
19source $testdir/tester.tcl
20
21do_test misc6-1.1 {
22  set DB [sqlite3_connection_pointer db]
23  sqlite3_create_function $DB
24  set STMT [sqlite3_prepare $DB {SELECT hex8(?)} -1 DUMMY]
25  set sqlite_static_bind_value {0123456789}
26  set sqlite_static_bind_nbyte 5
27  sqlite_bind $STMT 1 {} static-nbytes
28  sqlite3_step $STMT
29} SQLITE_ROW
30do_test misc6-1.2 {
31  sqlite3_column_text $STMT 0
32} {3031323334}
33ifcapable utf16 {
34  do_test misc6-1.3 {
35    sqlite3_finalize $STMT
36    set STMT [sqlite3_prepare $DB {SELECT hex16(?)} -1 DUMMY]
37    set sqlite_static_bind_value {0123456789}
38    set sqlite_static_bind_nbyte 5
39    sqlite_bind $STMT 1 {} static-nbytes
40    sqlite3_step $STMT
41  } SQLITE_ROW
42  do_test misc6-1.4 {
43    sqlite3_column_text $STMT 0
44  } {00300031003200330034}
45}
46sqlite3_finalize $STMT
47
48finish_test
49