| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import haxe.unit.TestCase;
- import sys.FileSystem;
- import sys.db.Connection;
- import sys.db.Sqlite;
- import sys.db.ResultSet;
- class ExceptionTestCase extends TestCase
- {
- var file : String;
- var cnx : Connection;
-
- override public function setup( ) : Void
- {
- super.setup();
-
- file = '${currentTest.classname}-${currentTest.method}.sqlite';
- cnx = Sqlite.open(file);
-
- cnx.request('DROP TABLE IF EXISTS t1');
- cnx.request('CREATE TABLE t1(i int, f float, t text, bl blob, bo bool)');
-
- cnx.request('INSERT INTO t1 VALUES(1, 0.1, "hello", "\x11", 1)');
- cnx.request('INSERT INTO t1 VALUES(2, 0.00002, "goodbye", "\x1111", 0)');
- cnx.request('INSERT INTO t1 VALUES(3, 0.000000003, "Привет!", "\x111111", 1)');
- }
-
- override public function tearDown( ) : Void
- {
- super.tearDown();
-
- cnx.close();
- FileSystem.deleteFile(file);
- }
-
- public function testSqlError( ) : Void
- {
- var sql : String = 'SELECT * FRM t1';
- var expected : String = 'SQLite error: near "FRM": syntax error';
-
- var msg : String = null;
- try
- {
- var res : ResultSet = cnx.request(sql);
- }
- catch ( e : Dynamic )
- {
- msg = Std.string(e);
- }
-
- assertEquals(expected, msg);
- }
-
- public function testSameField( ) : Void
- {
- var sql : String = 'SELECT i as a, f as a FROM t1';
- var expected : String = 'SQLite error: Same field is two times in the request: $sql';
-
- var msg : String = null;
- try
- {
- var res : ResultSet = cnx.request(sql);
- }
- catch ( e : Dynamic )
- {
- msg = Std.string(e);
- }
-
- assertEquals(expected, msg);
- }
- }
|