mirror of https://github.com/AMT-Cheif/drift.git
33 lines
925 B
Dart
33 lines
925 B
Dart
import 'package:moor/moor.dart';
|
|
import 'package:test/test.dart';
|
|
|
|
import '../data/tables/todos.dart';
|
|
import '../data/utils/expect_generated.dart';
|
|
|
|
void main() {
|
|
final expression = GeneratedTextColumn('col', null, false);
|
|
final db = TodoDb(null);
|
|
|
|
test('generates like expressions', () {
|
|
final ctx = GenerationContext.fromDb(db);
|
|
expression.like('pattern').writeInto(ctx);
|
|
|
|
expect(ctx.sql, 'col LIKE ?');
|
|
expect(ctx.boundVariables, ['pattern']);
|
|
});
|
|
|
|
test('generates collate expressions', () {
|
|
final ctx = GenerationContext.fromDb(db);
|
|
expression.collate(Collate.noCase).writeInto(ctx);
|
|
|
|
expect(ctx.sql, 'col COLLATE NOCASE');
|
|
expect(ctx.boundVariables, isEmpty);
|
|
});
|
|
|
|
test('can use string functions', () {
|
|
expression.upper().expectGenerates('UPPER(col)');
|
|
expression.lower().expectGenerates('LOWER(col)');
|
|
expression.length.expectGenerates('LENGTH(col)');
|
|
});
|
|
}
|