| // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file | |
| // for details. 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:test/test.dart'; | |
| import 'test_utils.dart'; | |
| void main() { | |
| group('preserves original yaml: ', () { | |
| test('number', expectLoadPreservesYAML('2')); | |
| test('number with leading and trailing lines', expectLoadPreservesYAML(''' | |
| 2 | |
| ''')); | |
| test('octal numbers', expectLoadPreservesYAML('0o14')); | |
| test('negative numbers', expectLoadPreservesYAML('-345')); | |
| test('hexadecimal numbers', expectLoadPreservesYAML('0x123abc')); | |
| test('floating point numbers', expectLoadPreservesYAML('345.678')); | |
| test('exponential numbers', expectLoadPreservesYAML('12.3015e+02')); | |
| test('string', expectLoadPreservesYAML('a string')); | |
| test('string with control characters', | |
| expectLoadPreservesYAML('a string \\n')); | |
| test('string with control characters', | |
| expectLoadPreservesYAML('a string \n\r')); | |
| test('string with hex escapes', | |
| expectLoadPreservesYAML('\\x0d\\x0a is \\r\\n')); | |
| test('flow map', expectLoadPreservesYAML('{a: 2}')); | |
| test('flow list', expectLoadPreservesYAML('[1, 2]')); | |
| test('flow list with different types of elements', | |
| expectLoadPreservesYAML('[1, a]')); | |
| test('flow list with weird spaces', | |
| expectLoadPreservesYAML('[ 1 , 2]')); | |
| test('multiline string', expectLoadPreservesYAML(''' | |
| Mark set a major league | |
| home run record in 1998.''')); | |
| test('tilde', expectLoadPreservesYAML('~')); | |
| test('false', expectLoadPreservesYAML('false')); | |
| test('block map', expectLoadPreservesYAML('''a: | |
| b: 1 | |
| ''')); | |
| test('block list', expectLoadPreservesYAML('''a: | |
| - 1 | |
| ''')); | |
| test('complicated example', () { | |
| expectLoadPreservesYAML('''verb: RecommendCafes | |
| map: | |
| a: | |
| b: 1 | |
| recipe: | |
| - verb: Score | |
| outputs: ["DishOffering[]/Scored", "Suggestions"] | |
| name: Hotpot | |
| - verb: Rate | |
| inputs: Dish | |
| '''); | |
| }); | |
| }); | |
| } |