| // 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); | 
 |     }); | 
 |   }); | 
 | } |