// 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 BufferLogger logger = BufferLogger.test(); final Directory rootDir = fileSystem.currentDirectory; final Directory templateSource = rootDir.childDirectory('src'); final Directory imageSourceDir = templateSource; final Directory destination = rootDir.childDirectory('dest'); const String outputClass = 'SomeClass.kt'; final File sourceFile = templateSource.childFile('$outputClass.tmpl'); templateSource.createSync(); sourceFile.writeAsStringSync('package {{androidIdentifier}};'); final Template template = Template( templateSource, imageSourceDir, fileSystem: fileSystem, logger: logger, templateRenderer: const MustacheTemplateRenderer(), ); final Map<String, Object> 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;')); }); }