Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(503)

Side by Side Diff: mojo/public/dart/mojom/test/generate_test.dart

Issue 1441033002: Move mojo and mojom from mojo/public/dart to mojo/dart/packages (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mojo/public/dart/mojom/pubspec.yaml ('k') | mojo/public/dart/sdk_ext_sources.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 import 'dart:async';
6 import 'dart:io';
7
8 import 'package:mojom/src/command_runner.dart';
9 import 'package:mojom/src/utils.dart';
10 import 'package:path/path.dart' as path;
11 import 'package:unittest/unittest.dart';
12
13 final singlePacakgeMojomContents = '''
14 [DartPackage="single_package"]
15 module single_package;
16 struct SinglePackage {
17 int32 thingo;
18 };
19 ''';
20
21 Future runCommand(List<String> args) {
22 return new MojomCommandRunner().run(args);
23 }
24
25 main() async {
26 String mojoSdk;
27 if (Platform.environment['MOJO_SDK'] != null) {
28 mojoSdk = Platform.environment['MOJO_SDK'];
29 } else {
30 mojoSdk = path.normalize(
31 path.join(path.dirname(Platform.script.path), '..', '..', '..'));
32 }
33 if (!await new Directory(mojoSdk).exists()) {
34 fail("Could not find the Mojo SDK");
35 }
36
37 final scriptPath = path.dirname(Platform.script.path);
38
39 // //test_mojoms/mojom
40 final testMojomPath = path.join(scriptPath, 'test_mojoms');
41
42 setUp(() async {
43 await new Directory(testMojomPath).create(recursive: true);
44 });
45
46 tearDown(() async {
47 await new Directory(testMojomPath).delete(recursive: true);
48 });
49
50 group('Commands', () {
51 // //single_package
52 final singlePackagePath = path.join(scriptPath, 'single_package');
53 // //single_package/.mojoms
54 final singlePackageMojomsPath = path.join(singlePackagePath, '.mojoms');
55 // //single_package/lib
56 final singlePackageLibPath = path.join(singlePackagePath, 'lib');
57 // //single_package/packages
58 final singlePackagePackagesPath = path.join(singlePackagePath, 'packages');
59 // //single_package/packages/single_package
60 final singlePackagePackagePath =
61 path.join(singlePackagePackagesPath, 'single_package');
62
63 setUp(() async {
64 await new Directory(singlePackageLibPath).create(recursive: true);
65 await new Directory(singlePackagePackagesPath).create(recursive: true);
66 await new Link(singlePackagePackagePath).create(singlePackageLibPath);
67
68 // //test_mojoms/single_package/public/interfaces/single_package.mojom
69 final singlePackageMojomFile = new File(path.join(testMojomPath,
70 'single_package', 'public', 'interfaces', 'single_package.mojom'));
71 await singlePackageMojomFile.create(recursive: true);
72 await singlePackageMojomFile.writeAsString(singlePacakgeMojomContents);
73 });
74
75 tearDown(() async {
76 await new Directory(singlePackagePath).delete(recursive: true);
77 });
78
79 test('single', () async {
80 await runCommand([
81 'single',
82 '-m',
83 mojoSdk,
84 '-r',
85 testMojomPath,
86 '-p',
87 singlePackagePath
88 ]);
89
90 // Should have:
91 // //single_package/lib/single_package/single_package.mojom.dart
92 final resultPath = path.join(
93 singlePackageLibPath, 'single_package', 'single_package.mojom.dart');
94 final resultFile = new File(resultPath);
95 expect(await resultFile.exists(), isTrue);
96
97 // There should be no stray .mojoms file haning around.
98 final mojomsFile = new File(singlePackageMojomsPath);
99 expect(await mojomsFile.exists(), isFalse);
100 });
101
102 test('gen', () async {
103 await runCommand(
104 ['gen', '-m', mojoSdk, '-r', testMojomPath, '-o', scriptPath]);
105
106 // Should have:
107 // //single_package/lib/single_package/single_package.mojom.dart
108 final resultPath = path.join(
109 singlePackageLibPath, 'single_package', 'single_package.mojom.dart');
110 final resultFile = new File(resultPath);
111 expect(await resultFile.exists(), isTrue);
112
113 // There should be no stray .mojoms file haning around.
114 final mojomsFile = new File(singlePackageMojomsPath);
115 expect(await mojomsFile.exists(), isFalse);
116 });
117 });
118 }
OLDNEW
« no previous file with comments | « mojo/public/dart/mojom/pubspec.yaml ('k') | mojo/public/dart/sdk_ext_sources.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698