d4t_formulas/.pub-cache/hosted/pub.dev/yaml-3.1.3/test/span_test.dart

174 lines
2.9 KiB
Dart
Raw Normal View History

// Copyright (c) 2019, the Dart project authors.
// Copyright (c) 2006, Kirill Simonov.
//
// Use of this source code is governed by an MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT.
import 'dart:convert';
import 'package:source_span/source_span.dart';
import 'package:test/test.dart';
import 'package:yaml/yaml.dart';
void _expectSpan(SourceSpan source, String expected) {
final result = source.message('message');
printOnFailure("r'''\n$result'''");
expect(result, expected);
}
void main() {
late YamlMap yaml;
setUpAll(() {
yaml = loadYaml(const JsonEncoder.withIndent(' ').convert({
'num': 42,
'nested': {
'null': null,
'num': 42,
},
'null': null,
})) as YamlMap;
});
test('first root key', () {
_expectSpan(
yaml.nodes['num']!.span,
r'''
line 2, column 9: message
2 "num": 42,
^^
''',
);
});
test('first root key', () {
_expectSpan(
yaml.nodes['null']!.span,
r'''
line 7, column 10: message
7 "null": null
^^^^
''',
);
});
group('nested', () {
late YamlMap nestedMap;
setUpAll(() {
nestedMap = yaml.nodes['nested'] as YamlMap;
});
test('first root key', () {
_expectSpan(
nestedMap.nodes['null']!.span,
r'''
line 4, column 11: message
4 "null": null,
^^^^
''',
);
});
test('first root key', () {
_expectSpan(
nestedMap.nodes['num']!.span,
r'''
line 5, column 10: message
5 "num": 42
^
6 },
^
''',
);
});
});
group('block', () {
late YamlList list, nestedList;
setUpAll(() {
const yamlStr = '''
- foo
-
- one
-
- three
-
- five
-
-
a : b
c : d
- bar
''';
list = loadYaml(yamlStr) as YamlList;
nestedList = list.nodes[1] as YamlList;
});
test('root nodes span', () {
_expectSpan(list.nodes[0].span, r'''
line 1, column 3: message
1 - foo
^^^
''');
_expectSpan(list.nodes[1].span, r'''
line 3, column 3: message
3 - one
4 -
5 - three
6 -
7 - five
8 -
''');
_expectSpan(list.nodes[2].span, r'''
line 10, column 3: message
10 a : b
11 c : d
''');
_expectSpan(list.nodes[3].span, r'''
line 12, column 3: message
12 - bar
^^^
''');
});
test('null nodes span', () {
_expectSpan(nestedList.nodes[1].span, r'''
line 4, column 3: message
4 -
^
''');
_expectSpan(nestedList.nodes[3].span, r'''
line 6, column 3: message
6 -
^
''');
_expectSpan(nestedList.nodes[5].span, r'''
line 8, column 3: message
8 -
^
''');
});
});
}