import 'dart:io';

import 'package:flutter_test/flutter_test.dart';

void main() {
  test('Flutter lib should not contain common ASCII fallbacks for Swedish UI text', () {
    const forbiddenSpellings = <String, String>{
      'Forsok': 'Försök',
      'gatt ut': 'gått ut',
      'behorighet': 'behörighet',
      'Natverksfel': 'Nätverksfel',
      'ovantat': 'oväntat',
      'Lagg': 'Lägg',
      'Valj': 'Välj',
      'Mangd': 'Mängd',
      'Oppnad': 'Öppnad',
      'Bast fore': 'Bäst före',
      'Inkop': 'Inköp',
      'Ovrigt': 'Övrigt',
      'Okant': 'Okänt',
      'hamta': 'hämta',
      'tillgangligt': 'tillgängligt',
      'raknar': 'räknar',
    };

    final offenders = <String>[];
    final files = Directory('lib')
        .listSync(recursive: true)
        .whereType<File>()
        .where((file) => file.path.endsWith('.dart'));

    for (final file in files) {
      final content = file.readAsStringSync();
      for (final entry in forbiddenSpellings.entries) {
        if (content.contains(entry.key)) {
          offenders.add('${file.path}: found "${entry.key}"; use "${entry.value}"');
        }
      }
    }

    expect(
      offenders,
      isEmpty,
      reason: offenders.isEmpty ? null : offenders.join('\n'),
    );
  });
}