59 lines
2.7 KiB
TypeScript
59 lines
2.7 KiB
TypeScript
|
import MySQL from '../../../../src/parser/mysql';
|
||
|
import { readSQL } from '../../../helper';
|
||
|
|
||
|
const parser = new MySQL();
|
||
|
|
||
|
const features = {
|
||
|
alterDatabase: readSQL(__dirname, 'alterDatabase.sql'),
|
||
|
alterEvent: readSQL(__dirname, 'alterEvent.sql'),
|
||
|
alterFunction: readSQL(__dirname, 'alterFunction.sql'),
|
||
|
alterInstance: readSQL(__dirname, 'alterInstance.sql'),
|
||
|
alterLogFileGroup: readSQL(__dirname, 'alterLogFileGroup.sql'),
|
||
|
alterProcedure: readSQL(__dirname, 'alterProcedure.sql'),
|
||
|
alterServer: readSQL(__dirname, 'alterServer.sql'),
|
||
|
alterTable: readSQL(__dirname, 'alterTable.sql'),
|
||
|
alterTableAndGeneratedColumns: readSQL(__dirname, 'alterTableAndGeneratedColumns.sql'),
|
||
|
alterTablePartition: readSQL(__dirname, 'alterTablePartition.sql'),
|
||
|
alterTableSpace: readSQL(__dirname, 'alterTableSpace.sql'),
|
||
|
alterView: readSQL(__dirname, 'alterView.sql'),
|
||
|
createDatabase: readSQL(__dirname, 'createDatabase.sql'),
|
||
|
createEvent: readSQL(__dirname, 'createEvent.sql'),
|
||
|
createFunction: readSQL(__dirname, 'createFunction.sql'),
|
||
|
createIndex: readSQL(__dirname, 'createIndex.sql'),
|
||
|
createLogFileGroup: readSQL(__dirname, 'createLogFileGroup.sql'),
|
||
|
createProcedure: readSQL(__dirname, 'createProcedure.sql'),
|
||
|
createServer: readSQL(__dirname, 'createServer.sql'),
|
||
|
createTable: readSQL(__dirname, 'createTable.sql'),
|
||
|
createTableSpace: readSQL(__dirname, 'createTableSpace.sql'),
|
||
|
createTrigger: readSQL(__dirname, 'createTrigger.sql'),
|
||
|
createView: readSQL(__dirname, 'createView.sql'),
|
||
|
dropDatabase: readSQL(__dirname, 'dropDatabase.sql'),
|
||
|
dropEvent: readSQL(__dirname, 'dropEvent.sql'),
|
||
|
dropFunction: readSQL(__dirname, 'dropFunction.sql'),
|
||
|
dropIndex: readSQL(__dirname, 'dropIndex.sql'),
|
||
|
dropLogFileGroup: readSQL(__dirname, 'dropLogFileGroup.sql'),
|
||
|
dropProcedure: readSQL(__dirname, 'dropProcedure.sql'),
|
||
|
dropServer: readSQL(__dirname, 'dropServer.sql'),
|
||
|
dropSpatialReferenceSystem: readSQL(__dirname, 'dropSpatialReferenceSystem.sql'),
|
||
|
dropTable: readSQL(__dirname, 'dropTable.sql'),
|
||
|
dropTableSpace: readSQL(__dirname, 'dropTableSpace.sql'),
|
||
|
dropTrigger: readSQL(__dirname, 'dropTrigger.sql'),
|
||
|
dropView: readSQL(__dirname, 'dropView.sql'),
|
||
|
renameTable: readSQL(__dirname, 'renameTable.sql'),
|
||
|
truncateTable: readSQL(__dirname, 'truncateTable.sql'),
|
||
|
};
|
||
|
|
||
|
describe('MySQL DDL 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);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
});
|