diff --git a/drift_dev/test/backends/build/build_integration_test.dart b/drift_dev/test/backends/build/build_integration_test.dart index 18cf30b2..d0c9a475 100644 --- a/drift_dev/test/backends/build/build_integration_test.dart +++ b/drift_dev/test/backends/build/build_integration_test.dart @@ -67,4 +67,38 @@ CREATE INDEX semantic_error ON a (c); ], ); }); + + test('Dart-defined tables are visible in drift files', () async { + final logger = Logger.detached('build'); + expect(logger.onRecord, neverEmits(anything)); + + final result = await emulateDriftBuild( + inputs: { + 'a|lib/database.dart': ''' +import 'package:drift/drift.dart'; + +@DataClassName('DFoo') +class FooTable extends Table { + @override + String get tableName => 'foo'; + + IntColumn get fooId => integer()(); +} + +@DriftDatabase(include: {'queries.drift'}) +class MyDatabase {} +''', + 'a|lib/queries.drift': ''' +import 'database.dart'; + +selectAll: SELECT * FROM foo; +''', + }, + logger: logger, + ); + + checkOutputs({ + 'a|lib/database.drift.dart': decodedMatches(contains('selectAll')), + }, result.dartOutputs, result); + }); }