Skip to content

Commit 4aad543

Browse files
author
Christopher J. Brody
committed
'012012.012' string INSERT value bindings test
Additional test ref: storesafe#791
1 parent f8dd6ad commit 4aad543

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

spec/www/spec/db-tx-value-bindings-test.js

+56
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,62 @@ var mytests = function() {
826826
});
827827
}, MYTIMEOUT);
828828

829+
it(suiteName + "'012012.012' string INSERT value bindings", function(done) {
830+
// Additional test ref: litehelpers/Cordova-sqlite-storage#791
831+
var db = openDatabase('012012.012-string-INSERT-value-bindings-test.db');
832+
833+
var myValue = '012012.012';
834+
var myValueAsRealNumber = 12012.012;
835+
836+
db.transaction(function(tx) {
837+
tx.executeSql('DROP TABLE IF EXISTS tt');
838+
tx.executeSql('CREATE TABLE IF NOT EXISTS tt (data1, data2 TEXT, data3 NUMERIC, data4 INTEGER, data5 REAL)', null, function(ignored1, ignored2) {
839+
tx.executeSql('INSERT INTO tt VALUES (?,?,?,?,?)',
840+
[myValue, myValue, myValue, myValue, myValue], function(ignored, rs1) {
841+
expect(rs1).toBeDefined();
842+
expect(rs1.rowsAffected).toBe(1);
843+
expect(rs1.insertId).toBe(1);
844+
845+
tx.executeSql('SELECT * FROM tt', [], function(ignored, rs2) {
846+
expect(rs2).toBeDefined();
847+
expect(rs2.rows).toBeDefined();
848+
expect(rs2.rows.length).toBe(1);
849+
850+
var resultRow2 = rs2.rows.item(0);
851+
expect(resultRow2.data1).toBe(myValue);
852+
expect(resultRow2.data2).toBe(myValue);
853+
expect(resultRow2.data3).toBe(myValueAsRealNumber);
854+
expect(resultRow2.data4).toBe(myValueAsRealNumber);
855+
expect(resultRow2.data5).toBe(myValueAsRealNumber);
856+
857+
tx.executeSql('SELECT TYPEOF(data1) AS t1, TYPEOF(data2) AS t2, TYPEOF(data3) AS t3, TYPEOF(data4) AS t4, TYPEOF(data5) AS t5 FROM tt', [], function(ignored, rs3) {
858+
expect(rs3).toBeDefined();
859+
expect(rs3.rows).toBeDefined();
860+
expect(rs3.rows.length).toBe(1);
861+
862+
var resultRow3 = rs3.rows.item(0);
863+
expect(resultRow3.t1).toBe('text');
864+
expect(resultRow3.t2).toBe('text');
865+
expect(resultRow3.t3).toBe('real');
866+
expect(resultRow3.t4).toBe('real');
867+
expect(resultRow3.t5).toBe('real');
868+
869+
// Close (plugin only) & finish:
870+
(isWebSql) ? done() : db.close(done, done);
871+
});
872+
873+
});
874+
});
875+
});
876+
}, function(error) {
877+
// NOT EXPECTED:
878+
expect(false).toBe(true);
879+
expect(error.message).toBe('---');
880+
// Close (plugin only) & finish:
881+
(isWebSql) ? done() : db.close(done, done);
882+
});
883+
}, MYTIMEOUT);
884+
829885
it(suiteName + "executeSql parameter as array", function(done) {
830886
var db = openDatabase("array-parameter.db", "1.0", "Demo", DEFAULT_SIZE);
831887

0 commit comments

Comments
 (0)