blob: 762f7f4ba60c6457a8115becb619b6f20e363c9c [file] [log] [blame]
// 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 'package:vm_snapshot_analysis/name.dart';
void main() async {
group('name', () {
test('scrubbing', () async {
expect(Name('[Optimized] [Stub] name').scrubbed, equals('name'),
reason: 'Prefixes are removed');
expect(
Name('name@1234.of@5678.method@9').scrubbed, equals('name.of.method'),
reason: 'Private keys are removed');
expect(Name('name@1234.<anonymous closure @1234>').scrubbed,
equals('name.<anonymous closure @1234>'),
reason: 'Closure token positions are preserved');
});
test('stub-name-parsing', () async {
expect(Name('[Stub] name').isStub, isTrue);
expect(Name('[Stub] name').isAllocationStub, isFalse);
expect(Name('[Stub] Allocate ').isStub, isTrue);
expect(Name('[Stub] Allocate ').isAllocationStub, isTrue);
expect(Name('[Optimized] name').isStub, isFalse);
expect(Name('[Optimized] name').isAllocationStub, isFalse);
});
});
}