@@ -1318,6 +1318,76 @@ class AppLocalizationsEn extends AppLocalizations {
1318
1318
^''' ));
1319
1319
}
1320
1320
});
1321
+
1322
+ testWithoutContext ('no description generates generic comment' , () {
1323
+ final Directory l10nDirectory = fs.currentDirectory.childDirectory ('lib' ).childDirectory ('l10n' )
1324
+ ..createSync (recursive: true );
1325
+ l10nDirectory.childFile (defaultTemplateArbFileName)
1326
+ .writeAsStringSync (r'''
1327
+ {
1328
+ "helloWorld": "Hello world!"
1329
+ }''' );
1330
+ l10nDirectory.childFile (esArbFileName)
1331
+ .writeAsStringSync (singleEsMessageArbFileString);
1332
+ LocalizationsGenerator (
1333
+ fileSystem: fs,
1334
+ inputPathString: defaultL10nPathString,
1335
+ outputPathString: defaultL10nPathString,
1336
+ templateArbFileName: defaultTemplateArbFileName,
1337
+ outputFileString: defaultOutputFileString,
1338
+ classNameString: defaultClassNameString,
1339
+ logger: logger,
1340
+ )
1341
+ ..loadResources ()
1342
+ ..writeOutputFiles ();
1343
+ final File baseLocalizationsFile = fs.file (
1344
+ fs.path.join (syntheticL10nPackagePath, 'output-localization-file.dart' )
1345
+ );
1346
+ expect (baseLocalizationsFile.existsSync (), isTrue);
1347
+
1348
+ final String baseLocalizationsFileContents = fs.file (
1349
+ fs.path.join (syntheticL10nPackagePath, 'output-localization-file.dart' )
1350
+ ).readAsStringSync ();
1351
+ expect (baseLocalizationsFileContents, contains ('/// No description provided for @helloWorld.' ));
1352
+ });
1353
+
1354
+ testWithoutContext ('multiline descriptions are correctly formatted as comments' , () {
1355
+ final Directory l10nDirectory = fs.currentDirectory.childDirectory ('lib' ).childDirectory ('l10n' )
1356
+ ..createSync (recursive: true );
1357
+ l10nDirectory.childFile (defaultTemplateArbFileName)
1358
+ .writeAsStringSync (r'''
1359
+ {
1360
+ "helloWorld": "Hello world!",
1361
+ "@helloWorld": {
1362
+ "description": "The generic example string in every language.\nUse this for tests!"
1363
+ }
1364
+ }''' );
1365
+ l10nDirectory.childFile (esArbFileName)
1366
+ .writeAsStringSync (singleEsMessageArbFileString);
1367
+ LocalizationsGenerator (
1368
+ fileSystem: fs,
1369
+ inputPathString: defaultL10nPathString,
1370
+ outputPathString: defaultL10nPathString,
1371
+ templateArbFileName: defaultTemplateArbFileName,
1372
+ outputFileString: defaultOutputFileString,
1373
+ classNameString: defaultClassNameString,
1374
+ logger: logger,
1375
+ )
1376
+ ..loadResources ()
1377
+ ..writeOutputFiles ();
1378
+ final File baseLocalizationsFile = fs.file (
1379
+ fs.path.join (syntheticL10nPackagePath, 'output-localization-file.dart' )
1380
+ );
1381
+ expect (baseLocalizationsFile.existsSync (), isTrue);
1382
+
1383
+ final String baseLocalizationsFileContents = fs.file (
1384
+ fs.path.join (syntheticL10nPackagePath, 'output-localization-file.dart' )
1385
+ ).readAsStringSync ();
1386
+ expect (baseLocalizationsFileContents, contains ('''
1387
+ /// The generic example string in every language.
1388
+ /// Use this for tests!''' ));
1389
+ });
1390
+
1321
1391
testWithoutContext ('message without placeholders - should generate code comment with description and template message translation' , () {
1322
1392
_standardFlutterDirectoryL10nSetup (fs);
1323
1393
LocalizationsGenerator (
0 commit comments