chore: clean analyzer to zero issues
Some checks failed
CI / Windows build (push) Has been cancelled
Some checks failed
CI / Windows build (push) Has been cancelled
Whole-project `flutter analyze` exited 1 on 17 pre-existing info/warning lints (no errors) in dev tools and test files. Clean them so analyze is green: - editor_repository_test: drop the redundant sqflite_common import; keep the used utils import with a transitive-dep ignore. - pen_* widget tests: `(_, __)` wildcard params -> `(_, _)`. - search_snippet_test / gen_bench_pdf / gen_dense_strokes: drop needless interpolation braces; remove an unused `Size` show and an unused local; mark the gen tool as print-allowed. No runtime behavior changed. flutter analyze: No issues found. Affected tests: 22/22 pass.
This commit is contained in:
@@ -9,8 +9,7 @@ import 'dart:io';
|
|||||||
|
|
||||||
import 'package:flutter_test/flutter_test.dart';
|
import 'package:flutter_test/flutter_test.dart';
|
||||||
import 'package:path/path.dart' as p;
|
import 'package:path/path.dart' as p;
|
||||||
import 'package:sqflite_common/sqlite_api.dart';
|
import 'package:sqflite_common/utils/utils.dart' as sqflite_utils; // ignore: depend_on_referenced_packages
|
||||||
import 'package:sqflite_common/utils/utils.dart' as sqflite_utils;
|
|
||||||
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
|
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
|
||||||
|
|
||||||
import 'package:badnote/editor/engine/stroke_model.dart';
|
import 'package:badnote/editor/engine/stroke_model.dart';
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ void main() {
|
|||||||
strokeWidth: 0.004,
|
strokeWidth: 0.004,
|
||||||
allowFingerDrawing: allowFinger,
|
allowFingerDrawing: allowFinger,
|
||||||
onStrokeComplete: onComplete,
|
onStrokeComplete: onComplete,
|
||||||
onEraseStroke: (_, __) {},
|
onEraseStroke: (_, _) {},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ void main() {
|
|||||||
color: const Color(0xFF000000),
|
color: const Color(0xFF000000),
|
||||||
strokeWidth: 0.004,
|
strokeWidth: 0.004,
|
||||||
onStrokeComplete: committed.add,
|
onStrokeComplete: committed.add,
|
||||||
onEraseStroke: (_, __) {},
|
onEraseStroke: (_, _) {},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ void main() {
|
|||||||
strokeWidth: 0.02,
|
strokeWidth: 0.02,
|
||||||
allowFingerDrawing: allowFinger,
|
allowFingerDrawing: allowFinger,
|
||||||
onStrokeComplete: onComplete,
|
onStrokeComplete: onComplete,
|
||||||
onEraseStroke: (_, __) {},
|
onEraseStroke: (_, _) {},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ void main() {
|
|||||||
color: const Color(0xFF000000),
|
color: const Color(0xFF000000),
|
||||||
strokeWidth: 0.004,
|
strokeWidth: 0.004,
|
||||||
onStrokeComplete: (_) {},
|
onStrokeComplete: (_) {},
|
||||||
onEraseStroke: (_, __) {},
|
onEraseStroke: (_, _) {},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ void main() {
|
|||||||
|
|
||||||
test('the full match is included even when longer than the window', () {
|
test('the full match is included even when longer than the window', () {
|
||||||
final long = 'x' * 100;
|
final long = 'x' * 100;
|
||||||
final s = snippetFor('pre ${long} post', long, window: 10)!;
|
final s = snippetFor('pre $long post', long, window: 10)!;
|
||||||
expect(s.match, long);
|
expect(s.match, long);
|
||||||
expect(s.matchLength, 100);
|
expect(s.matchLength, 100);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
import 'dart:ui' show Offset, Rect, Size;
|
import 'dart:ui' show Offset, Rect;
|
||||||
|
|
||||||
import 'package:flutter_test/flutter_test.dart';
|
import 'package:flutter_test/flutter_test.dart';
|
||||||
import 'package:syncfusion_flutter_pdf/pdf.dart';
|
import 'package:syncfusion_flutter_pdf/pdf.dart';
|
||||||
@@ -207,7 +207,7 @@ void main() {
|
|||||||
final sizeKb = (outFile.lengthSync() / 1024).toStringAsFixed(1);
|
final sizeKb = (outFile.lengthSync() / 1024).toStringAsFixed(1);
|
||||||
print('Generated: $outputPath');
|
print('Generated: $outputPath');
|
||||||
print('Pages: $pageCount');
|
print('Pages: $pageCount');
|
||||||
print('Size: ${sizeKb} KB (${outFile.lengthSync()} bytes)');
|
print('Size: $sizeKb KB (${outFile.lengthSync()} bytes)');
|
||||||
|
|
||||||
expect(outFile.existsSync(), isTrue);
|
expect(outFile.existsSync(), isTrue);
|
||||||
expect(outFile.lengthSync(), greaterThan(1024),
|
expect(outFile.lengthSync(), greaterThan(1024),
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
// ignore_for_file: avoid_print
|
||||||
// tool/gen_dense_strokes.dart
|
// tool/gen_dense_strokes.dart
|
||||||
//
|
//
|
||||||
// Generates synthetic ink-stroke datasets as JSON matching InkStroke.toJson()
|
// Generates synthetic ink-stroke datasets as JSON matching InkStroke.toJson()
|
||||||
@@ -52,7 +53,7 @@ void main(List<String> args) {
|
|||||||
|
|
||||||
final sizeKb = (File(outputPath).lengthSync() / 1024).toStringAsFixed(1);
|
final sizeKb = (File(outputPath).lengthSync() / 1024).toStringAsFixed(1);
|
||||||
print('Output: $outputPath');
|
print('Output: $outputPath');
|
||||||
print('Size: ${sizeKb} KB');
|
print('Size: $sizeKb KB');
|
||||||
for (final count in counts) {
|
for (final count in counts) {
|
||||||
print(' "$count": ${(result[count.toString()] as List).length} strokes');
|
print(' "$count": ${(result[count.toString()] as List).length} strokes');
|
||||||
}
|
}
|
||||||
@@ -183,15 +184,6 @@ void _verifyRoundTrip(dynamic dataset) {
|
|||||||
final encoded = jsonEncode(raw);
|
final encoded = jsonEncode(raw);
|
||||||
final decoded = jsonDecode(encoded) as Map<String, dynamic>;
|
final decoded = jsonDecode(encoded) as Map<String, dynamic>;
|
||||||
|
|
||||||
// Assert required InkStroke fields exist with correct types.
|
|
||||||
void check(String field, Type type) {
|
|
||||||
final val = decoded[field];
|
|
||||||
assert(
|
|
||||||
val == null || val.runtimeType.toString().contains(type.toString()) || val is num || val is String || val is bool || val is List,
|
|
||||||
'Field "$field" missing or wrong type: ${val.runtimeType}',
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
assert(decoded['id'] is String, 'id must be String');
|
assert(decoded['id'] is String, 'id must be String');
|
||||||
assert(decoded['points'] is List, 'points must be List');
|
assert(decoded['points'] is List, 'points must be List');
|
||||||
assert(decoded['tool'] == 'pen', 'tool enum must be "pen"');
|
assert(decoded['tool'] == 'pen', 'tool enum must be "pen"');
|
||||||
|
|||||||
Reference in New Issue
Block a user