blob: c4d275430bb6c8f13467e0623b820a833363b57f [file]
// 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.
import 'package:record_use/record_use.dart';
import 'package:test/test.dart';
const loadingUnitFoo = LoadingUnit('dart.foo');
void main() {
group('toString', () {
test('CallWithArguments', () {
const call = CallWithArguments(
positionalArguments: [],
namedArguments: {},
loadingUnit: loadingUnitFoo,
);
expect(
call.toString(),
'CallWithArguments(loadingUnit: dart.foo)',
);
});
test('CallWithArguments with multiple args', () {
const call = CallWithArguments(
positionalArguments: [NonConstant(), NonConstant()],
namedArguments: {
'bar': NonConstant(),
'baz': NonConstant(),
},
loadingUnit: loadingUnitFoo,
);
expect(
call.toString(),
'CallWithArguments(positional: NonConstant(), '
'NonConstant(), named: bar=NonConstant(), '
'baz=NonConstant(), loadingUnit: dart.foo)',
);
});
test('SymbolConstant', () {
expect(
const SymbolConstant('foo').toString(),
'#foo',
);
expect(
const SymbolConstant('_bar', libraryUri: 'package:a/a.dart').toString(),
'package:a/a.dart::#_bar',
);
});
test('InstanceConstantReference with EnumConstant', () {
const ref = InstanceConstantReference(
instanceConstant: EnumConstant(
definition: Enum('MyEnum', Library('package:a/a.dart')),
index: 0,
name: 'val1',
),
loadingUnit: loadingUnitFoo,
);
expect(
ref.toString(),
'InstanceConstantReference(instanceConstant: EnumConstant(package:a/a.dart#enum:MyEnum, index: 0, name: val1, fields: {}), loadingUnit: dart.foo)',
);
});
});
}