drift/sqlparser/test/parser/select/order_by_test.dart

34 lines
869 B
Dart
Raw Normal View History

import 'package:sqlparser/src/reader/tokenizer/token.dart';
2019-06-23 01:35:25 -07:00
import 'package:test/test.dart';
import 'package:sqlparser/sqlparser.dart';
import 'package:sqlparser/src/utils/ast_equality.dart';
import '../utils.dart';
void main() {
test('parses order by clauses', () {
2019-06-29 13:47:40 -07:00
final parsed = SqlEngine()
.parse('SELECT * FROM table ORDER BY -a, b DESC')
.rootNode as SelectStatement;
2019-06-23 01:35:25 -07:00
enforceEqual(
parsed.orderBy,
OrderBy(
terms: [
OrderingTerm(
orderingMode: OrderingMode.ascending,
expression: UnaryExpression(
token(TokenType.minus),
Reference(columnName: 'a'),
),
),
OrderingTerm(
orderingMode: OrderingMode.descending,
expression: Reference(columnName: 'b'),
),
],
),
);
});
}