mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

This creates a custom dartdoc tool that will generate snippet blocks in our API docs that allow the user to copy easily to the clipboard, and will also embed the snippet code into a template to show it in a larger context with an app. This PR adds the snippet tool, a template, and a couple of HTML skeleton files, one for snippets that are designed to be in an application setting, and one where it simply puts a nice container around existing snippets, making them easier to copy to the clipboard.
46 lines
1.7 KiB
Dart
46 lines
1.7 KiB
Dart
// Copyright 2018 The Chromium 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:platform/platform.dart' show FakePlatform;
|
|
|
|
import 'package:test/test.dart' hide TypeMatcher, isInstanceOf;
|
|
|
|
import 'package:snippets/configuration.dart';
|
|
|
|
void main() {
|
|
group('Configuration', () {
|
|
FakePlatform fakePlatform;
|
|
Configuration config;
|
|
|
|
setUp(() {
|
|
fakePlatform = FakePlatform(
|
|
operatingSystem: 'linux',
|
|
script: Uri.parse('file:///flutter/dev/snippets/lib/configuration_test.dart'));
|
|
config = Configuration(platform: fakePlatform);
|
|
});
|
|
test('config directory is correct', () async {
|
|
expect(config.getConfigDirectory('foo').path,
|
|
matches(RegExp(r'[/\\]flutter[/\\]dev[/\\]snippets[/\\]config[/\\]foo')));
|
|
});
|
|
test('output directory is correct', () async {
|
|
expect(config.outputDirectory.path,
|
|
matches(RegExp(r'[/\\]flutter[/\\]dev[/\\]docs[/\\]doc[/\\]snippets')));
|
|
});
|
|
test('skeleton directory is correct', () async {
|
|
expect(config.skeletonsDirectory.path,
|
|
matches(RegExp(r'[/\\]flutter[/\\]dev[/\\]snippets[/\\]config[/\\]skeletons')));
|
|
});
|
|
test('templates directory is correct', () async {
|
|
expect(config.templatesDirectory.path,
|
|
matches(RegExp(r'[/\\]flutter[/\\]dev[/\\]snippets[/\\]config[/\\]templates')));
|
|
});
|
|
test('html skeleton file is correct', () async {
|
|
expect(
|
|
config.getHtmlSkeletonFile(SnippetType.application).path,
|
|
matches(RegExp(
|
|
r'[/\\]flutter[/\\]dev[/\\]snippets[/\\]config[/\\]skeletons[/\\]application.html')));
|
|
});
|
|
});
|
|
}
|