// 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/memory.dart'; import 'package:snippets/snippets.dart'; import 'package:test/test.dart' hide TypeMatcher, isInstanceOf; void main() { group('Configuration', () { final MemoryFileSystem memoryFileSystem = MemoryFileSystem(); late SnippetConfiguration config; setUp(() { config = FlutterRepoSnippetConfiguration( flutterRoot: memoryFileSystem.directory('/flutter sdk'), filesystem: memoryFileSystem, ); }); test('config directory is correct', () async { expect( config.configDirectory.path, matches(RegExp(r'[/\\]flutter sdk[/\\]dev[/\\]snippets[/\\]config')), ); }); test('skeleton directory is correct', () async { expect( config.skeletonsDirectory.path, matches(RegExp(r'[/\\]flutter sdk[/\\]dev[/\\]snippets[/\\]config[/\\]skeletons')), ); }); test('html skeleton file for sample is correct', () async { expect( config.getHtmlSkeletonFile('snippet').path, matches( RegExp( r'[/\\]flutter sdk[/\\]dev[/\\]snippets[/\\]config[/\\]skeletons[/\\]snippet.html', ), ), ); }); test('html skeleton file for app with no dartpad is correct', () async { expect( config.getHtmlSkeletonFile('sample').path, matches( RegExp(r'[/\\]flutter sdk[/\\]dev[/\\]snippets[/\\]config[/\\]skeletons[/\\]sample.html'), ), ); }); test('html skeleton file for app with dartpad is correct', () async { expect( config.getHtmlSkeletonFile('dartpad').path, matches( RegExp( r'[/\\]flutter sdk[/\\]dev[/\\]snippets[/\\]config[/\\]skeletons[/\\]dartpad-sample.html', ), ), ); }); }); }