// Copyright (c) 2026, 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. // ignore_for_file: non_constant_identifier_names import 'package:api_summary/src/node.dart'; import 'package:test/test.dart'; import 'package:test_reflective_loader/test_reflective_loader.dart'; void main() { defineReflectiveSuite(() { defineReflectiveTests(NodeTest); }); } @reflectiveTest class NodeTest { void test_printNodes_indentChildNodes() { var buf = StringBuffer(); printNodes(buf, [ ( 1, _SimpleNode('one', [ (2, _SimpleNode('two')), (3, _SimpleNode('three')), ]), ), ( 4, _SimpleNode('four', [ (5, _SimpleNode('five')), (6, _SimpleNode('six')), ]), ), ]); expect(buf.toString(), ''' one two three four five six '''); } void test_printNodes_joinTextStrings() { var buf = StringBuffer(); printNodes(buf, [ (1, Node()..text.addAll(['x', 0])), ]); expect(buf.toString(), ''' x0 '''); } void test_printNodes_sortChildNodesByKey() { var buf = StringBuffer(); printNodes(buf, [ ( 0, _SimpleNode('zero', [ (2, _SimpleNode('two')), (1, _SimpleNode('one')), (3, _SimpleNode('three')), ]), ), ]); expect(buf.toString(), ''' zero one two three '''); } void test_printNodes_sortedByKey() { var buf = StringBuffer(); printNodes(buf, [ (2, _SimpleNode('two')), (1, _SimpleNode('one')), (3, _SimpleNode('three')), ]); expect(buf.toString(), ''' one two three '''); } } class _SimpleNode extends Node { _SimpleNode(String text, [List<(num, Node)> childNodes = const []]) { this.text.add(text); this.childNodes.addAll(childNodes); } }