mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Sources under `packages/flutter_tools/` aren't accessible to the average Flutter user by navigating through sources from their projects, so it doesn't need to be as explicitly verbose with types for readability purposes. The `always_specify_types` lint results in extremely verbose code within the tool which adds little value. This change disables `always_specify_types` in favor of a new set of lints that aim to reduce verbosity by removing obvious types while also maintaining readability in cases where variable types otherwise wouldn't be obvious: - `omit_obvious_local_variable_types` - `omit_obvious_property_types` - `specify_nonobvious_local_variable_types` - `specify_nonobvious_property_types`
44 lines
1.5 KiB
Dart
44 lines
1.5 KiB
Dart
// Copyright 2014 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import 'package:file/file.dart';
|
|
import 'package:file/memory.dart';
|
|
import 'package:flutter_tools/src/base/logger.dart';
|
|
import 'package:flutter_tools/src/isolated/mustache_template.dart';
|
|
import 'package:flutter_tools/src/template.dart';
|
|
|
|
import '../../src/common.dart';
|
|
|
|
void main() {
|
|
testWithoutContext('kotlin reserved keywords', () {
|
|
final FileSystem fileSystem = MemoryFileSystem.test();
|
|
final logger = BufferLogger.test();
|
|
final Directory rootDir = fileSystem.currentDirectory;
|
|
final Directory templateSource = rootDir.childDirectory('src');
|
|
final imageSourceDir = templateSource;
|
|
final Directory destination = rootDir.childDirectory('dest');
|
|
|
|
const outputClass = 'SomeClass.kt';
|
|
|
|
final File sourceFile = templateSource.childFile('$outputClass.tmpl');
|
|
|
|
templateSource.createSync();
|
|
sourceFile.writeAsStringSync('package {{androidIdentifier}};');
|
|
|
|
final template = Template(
|
|
templateSource,
|
|
imageSourceDir,
|
|
fileSystem: fileSystem,
|
|
logger: logger,
|
|
templateRenderer: const MustacheTemplateRenderer(),
|
|
);
|
|
|
|
final context = <String, Object>{'androidIdentifier': 'is.in.when.there'};
|
|
template.render(destination, context);
|
|
|
|
final File destinationFile = destination.childFile(outputClass);
|
|
expect(destinationFile.readAsStringSync(), equals('package `is`.`in`.`when`.there;'));
|
|
});
|
|
}
|