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

Side by Side Diff: tests/standalone/io/platform_test.dart

Issue 921733002: Update documentation for Platform.version (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed review comments Created 5 years, 10 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
« no previous file with comments | « sdk/lib/io/platform.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 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 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import "dart:async"; 5 import "dart:async";
6 import "dart:io"; 6 import "dart:io";
7 import "dart:isolate"; 7 import "dart:isolate";
8 8
9 import "package:async_helper/async_helper.dart"; 9 import "package:async_helper/async_helper.dart";
10 import "package:expect/expect.dart"; 10 import "package:expect/expect.dart";
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 // case was a relative path. 59 // case was a relative path.
60 Expect.equals("file", uri.scheme); 60 Expect.equals("file", uri.scheme);
61 Expect.isTrue(uri.path.endsWith('tests/standalone/io/platform_test.dart')); 61 Expect.isTrue(uri.path.endsWith('tests/standalone/io/platform_test.dart'));
62 Expect.equals(Platform.packageRoot, results["Platform.packageRoot"]); 62 Expect.equals(Platform.packageRoot, results["Platform.packageRoot"]);
63 Expect.listEquals(Platform.executableArguments, 63 Expect.listEquals(Platform.executableArguments,
64 results["Platform.executableArguments"]); 64 results["Platform.executableArguments"]);
65 asyncEnd(); 65 asyncEnd();
66 }); 66 });
67 } 67 }
68 68
69
70 testVersion() {
71 checkValidVersion(string version) {
72 RegExp re = new RegExp(r'(\d+)\.(\d+)\.(\d+)(-dev\.([^\.]*)\.([^\.]*))?');
73 var match = re.firstMatch(version);
74 Expect.isNotNull(match);
75 // Major version.
76 Expect.isTrue(int.parse(match.group(1)) == 1);
77 // Minor version.
78 Expect.isTrue(int.parse(match.group(2)) >= 9);
79 // Patch version.
80 Expect.isTrue(int.parse(match.group(3)) >= 0);
81 // Dev
82 if (match.group(4) != null) {
83 // Dev prerelease minor version
84 Expect.isTrue(int.parse(match.group(5)) >= 0);
85 // Dev prerelease patch version
86 Expect.isTrue(int.parse(match.group(6)) >= 0);
87 }
88 }
89 // Ensure we can match valid versions.
90 checkValidVersion('1.9.0');
91 checkValidVersion('1.9.0-dev.0.0');
92 checkValidVersion('1.9.0-edge');
93 checkValidVersion('1.9.0-edge.r41234');
94 // Test current version.
95 checkValidVersion(Platform.version);
96 // Test some invalid versions.
97 Expect.throws(() => checkValidVersion('1.9'));
98 Expect.throws(() => checkValidVersion('2.0.0'));
99 Expect.throws(() => checkValidVersion('..'));
100 Expect.throws(() => checkValidVersion('1..'));
101 Expect.throws(() => checkValidVersion('1.9.'));
102 Expect.throws(() => checkValidVersion('1.9.0-dev..'));
103 Expect.throws(() => checkValidVersion('1.9.0-dev..0'));
104 Expect.throws(() => checkValidVersion('1.9.0-dev.0.'));
105 Expect.throws(() => checkValidVersion('1.9.0-dev.x.y'));
106 Expect.throws(() => checkValidVersion('x'));
107 Expect.throws(() => checkValidVersion('x.y.z'));
108 }
109
69 main() { 110 main() {
70 // This tests assumes paths relative to dart main directory 111 // This tests assumes paths relative to dart main directory
71 Directory.current = Platform.script.resolve('../../..').toFilePath(); 112 Directory.current = Platform.script.resolve('../../..').toFilePath();
72 test(); 113 test();
73 testIsolate(); 114 testIsolate();
115 testVersion();
74 } 116 }
OLDNEW
« no previous file with comments | « sdk/lib/io/platform.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698