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

Side by Side Diff: sdk/lib/_internal/pub/test/update/pub_update_test.dart

Issue 15701006: Clean up tests that are duplicated between install and update. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Revise. Created 7 years, 7 months 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 library pub_tests;
6
7 import 'dart:io';
8
9 import 'package:scheduled_test/scheduled_test.dart';
10
11 import '../descriptor.dart' as d;
12 import '../test_pub.dart';
13
14 main() {
15 initConfig();
16 group('requires', () {
17 integration('a pubspec', () {
18 d.dir(appPath, []).create();
19
20 schedulePub(args: ['update'],
21 error: new RegExp(r'^Could not find a file named "pubspec.yaml"'),
22 exitCode: 1);
23 });
24
25 integration('a pubspec with a "name" key', () {
26 d.dir(appPath, [
27 d.pubspec({"dependencies": {"foo": null}})
28 ]).create();
29
30 schedulePub(args: ['update'],
31 error: new RegExp(r'^pubspec.yaml is missing the required "name" '
32 r'field \(e\.g\. "name: myapp"\)\.'),
33 exitCode: 1);
34 });
35 });
36
37 integration('adds itself to the packages', () {
38 // The symlink should use the name in the pubspec, not the name of the
39 // directory.
40 d.dir(appPath, [
41 d.pubspec({"name": "myapp_name"}),
42 d.libDir('myapp_name')
43 ]).create();
44
45 schedulePub(args: ['update'],
46 output: new RegExp(r"Dependencies updated!$"));
47
48 d.dir(packagesPath, [
49 d.dir("myapp_name", [
50 d.file('myapp_name.dart', 'main() => "myapp_name";')
51 ])
52 ]).validate();
53 });
54
55 integration('does not adds itself to the packages if it has no "lib" '
56 'directory', () {
57 // The symlink should use the name in the pubspec, not the name of the
58 // directory.
59 d.dir(appPath, [
60 d.pubspec({"name": "myapp_name"}),
61 ]).create();
62
63 schedulePub(args: ['update'],
64 output: new RegExp(r"Dependencies updated!$"));
65
66 d.dir(packagesPath, [
67 d.nothing("myapp_name")
68 ]).validate();
69 });
70
71 integration('does not add a package if it does not have a "lib" '
72 'directory', () {
73 // Using a path source, but this should be true of all sources.
74 d.dir('foo', [
75 d.libPubspec('foo', '0.0.0-not.used')
76 ]).create();
77
78 d.dir(appPath, [
79 d.pubspec({"name": "myapp", "dependencies": {"foo": {"path": "../foo"}}})
80 ]).create();
81
82 schedulePub(args: ['update'],
83 output: new RegExp(r"Dependencies updated!$"));
84
85 d.packagesDir({"foo": null}).validate();
86 });
87 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698