Skip to content

Commit

Permalink
[test-suite] Exclude PRAGMA tests from web
Browse files Browse the repository at this point in the history
  • Loading branch information
sjchmiela committed May 29, 2020
1 parent e58af94 commit 13d32f3
Showing 1 changed file with 48 additions and 43 deletions.
91 changes: 48 additions & 43 deletions apps/test-suite/tests/SQLite.js
Original file line number Diff line number Diff line change
Expand Up @@ -234,50 +234,55 @@ export function test(t) {
}
});

t.it('should support PRAGMA statements', async () => {
const db = SQLite.openDatabase('test.db');
await new Promise((resolve, reject) => {
db.transaction(
tx => {
const nop = () => {};
const onError = (tx, error) => reject(error);
// Do not try to test PRAGMA statements support in web
// as it is expected to not be working.
// See https://stackoverflow.com/a/10298712
if (Platform.OS !== 'web') {
t.it('should support PRAGMA statements', async () => {
const db = SQLite.openDatabase('test.db');
await new Promise((resolve, reject) => {
db.transaction(
tx => {
const nop = () => {};
const onError = (tx, error) => reject(error);

tx.executeSql('DROP TABLE IF EXISTS SomeTable;', [], nop, onError);
tx.executeSql(
'CREATE TABLE IF NOT EXISTS SomeTable (id INTEGER PRIMARY KEY NOT NULL, name VARCHAR(64));',
[],
nop,
onError
);
// a result-returning pragma
tx.executeSql(
'PRAGMA table_info(SomeTable);',
[],
(tx, results) => {
t.expect(results.rows.length).toEqual(2);
t.expect(results.rows.item(0).name).toEqual('id');
t.expect(results.rows.item(1).name).toEqual('name');
},
onError
);
// a no-result pragma
tx.executeSql('PRAGMA case_sensitive_like = true;', [], nop, onError);
// a setter/getter pragma
tx.executeSql('PRAGMA user_version = 123;', [], nop, onError);
tx.executeSql(
'PRAGMA user_version;',
[],
(tx, results) => {
t.expect(results.rows.length).toEqual(1);
t.expect(results.rows.item(0).user_version).toEqual(123);
},
onError
);
},
reject,
resolve
);
tx.executeSql('DROP TABLE IF EXISTS SomeTable;', [], nop, onError);
tx.executeSql(
'CREATE TABLE IF NOT EXISTS SomeTable (id INTEGER PRIMARY KEY NOT NULL, name VARCHAR(64));',
[],
nop,
onError
);
// a result-returning pragma
tx.executeSql(
'PRAGMA table_info(SomeTable);',
[],
(tx, results) => {
t.expect(results.rows.length).toEqual(2);
t.expect(results.rows.item(0).name).toEqual('id');
t.expect(results.rows.item(1).name).toEqual('name');
},
onError
);
// a no-result pragma
tx.executeSql('PRAGMA case_sensitive_like = true;', [], nop, onError);
// a setter/getter pragma
tx.executeSql('PRAGMA user_version = 123;', [], nop, onError);
tx.executeSql(
'PRAGMA user_version;',
[],
(tx, results) => {
t.expect(results.rows.length).toEqual(1);
t.expect(results.rows.item(0).user_version).toEqual(123);
},
onError
);
},
reject,
resolve
);
});
});
});
}
});
}

0 comments on commit 13d32f3

Please sign in to comment.