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

Side by Side Diff: sdk/lib/_internal/pub_generated/test/utils_test.dart

Issue 937243002: Revert "Revert "Use native async/await support in pub."" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: 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
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 utils_test;
6
7 import 'package:unittest/unittest.dart';
8 import 'test_pub.dart';
9 import '../lib/src/utils.dart';
10
11 main() {
12 initConfig();
13
14 group('yamlToString()', () {
15 test('null', () {
16 expect(yamlToString(null), equals('null'));
17 });
18
19 test('numbers', () {
20 expect(yamlToString(123), equals('123'));
21 expect(yamlToString(12.34), equals('12.34'));
22 });
23
24 test('does not quote strings that do not need it', () {
25 expect(yamlToString('a'), equals('a'));
26 expect(yamlToString('some-string'), equals('some-string'));
27 expect(yamlToString('hey123CAPS'), equals('hey123CAPS'));
28 expect(yamlToString("_under_score"), equals('_under_score'));
29 });
30
31 test('quotes other strings', () {
32 expect(yamlToString(''), equals('""'));
33 expect(yamlToString('123'), equals('"123"'));
34 expect(yamlToString('white space'), equals('"white space"'));
35 expect(yamlToString('"quote"'), equals(r'"\"quote\""'));
36 expect(yamlToString("apostrophe'"), equals('"apostrophe\'"'));
37 expect(yamlToString("new\nline"), equals(r'"new\nline"'));
38 expect(yamlToString("?unctu@t!on"), equals(r'"?unctu@t!on"'));
39 });
40
41 test('lists use JSON style', () {
42 expect(yamlToString([1, 2, 3]), equals('[1,2,3]'));
43 });
44
45 test('uses indentation for maps', () {
46 expect(yamlToString({
47 'a': {
48 'b': 1,
49 'c': 2
50 },
51 'd': 3
52 }), equals("""
53 a:
54 b: 1
55 c: 2
56 d: 3"""));
57 });
58
59 test('sorts map keys', () {
60 expect(yamlToString({
61 'a': 1,
62 'c': 2,
63 'b': 3,
64 'd': 4
65 }), equals("""
66 a: 1
67 b: 3
68 c: 2
69 d: 4"""));
70 });
71
72 test('quotes map keys as needed', () {
73 expect(yamlToString({
74 'no': 1,
75 'yes!': 2,
76 '123': 3
77 }), equals("""
78 "123": 3
79 no: 1
80 "yes!": 2"""));
81 });
82
83 test('handles non-string map keys', () {
84 var map = new Map();
85 map[null] = "null";
86 map[123] = "num";
87 map[true] = "bool";
88
89 expect(yamlToString(map), equals("""
90 123: num
91 null: null
92 true: bool"""));
93 });
94
95 test('handles empty maps', () {
96 expect(yamlToString({}), equals("{}"));
97 expect(yamlToString({
98 'a': {},
99 'b': {}
100 }), equals("""
101 a: {}
102 b: {}"""));
103 });
104 });
105 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698