43 lines
1.6 KiB
TypeScript
43 lines
1.6 KiB
TypeScript
|
import MySQL from '../../../../src/parser/mysql';
|
||
|
import { readSQL } from '../../../helper';
|
||
|
|
||
|
const parser = new MySQL();
|
||
|
|
||
|
const features = {
|
||
|
call: readSQL(__dirname, 'call.sql'),
|
||
|
delete: readSQL(__dirname, 'delete.sql'),
|
||
|
do: readSQL(__dirname, 'do.sql'),
|
||
|
handler: readSQL(__dirname, 'handler.sql'),
|
||
|
importTable: readSQL(__dirname, 'importTable.sql'),
|
||
|
insert: readSQL(__dirname, 'insert.sql'),
|
||
|
insertSelect: readSQL(__dirname, 'insertSelect.sql'),
|
||
|
interSect: readSQL(__dirname, 'interSect.sql'),
|
||
|
loadData: readSQL(__dirname, 'loadData.sql'),
|
||
|
loadXml: readSQL(__dirname, 'loadXml.sql'),
|
||
|
parenthesizedQuery: readSQL(__dirname, 'parenthesizedQuery.sql'),
|
||
|
replace: readSQL(__dirname, 'replace.sql'),
|
||
|
select: readSQL(__dirname, 'select.sql'),
|
||
|
selectJoin: readSQL(__dirname, 'selectJoin.sql'),
|
||
|
setOperations: readSQL(__dirname, 'setOperations.sql'),
|
||
|
subQueries: readSQL(__dirname, 'subQueries.sql'),
|
||
|
table: readSQL(__dirname, 'table.sql'),
|
||
|
update: readSQL(__dirname, 'update.sql'),
|
||
|
union: readSQL(__dirname, 'union.sql'),
|
||
|
values: readSQL(__dirname, 'values.sql'),
|
||
|
with: readSQL(__dirname, 'with.sql'),
|
||
|
};
|
||
|
|
||
|
describe('MySQL DML Syntax Tests', () => {
|
||
|
Object.keys(features).forEach((key) => {
|
||
|
features[key].forEach((sql) => {
|
||
|
it(sql, () => {
|
||
|
const result = parser.validate(sql);
|
||
|
if (result.length) {
|
||
|
console.log(result, `\n请检查 sql: ${sql}`);
|
||
|
}
|
||
|
expect(result.length).toBe(0);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
});
|