| Index: test/backend/metadata_test.dart
|
| diff --git a/test/backend/metadata_test.dart b/test/backend/metadata_test.dart
|
| index adc8e78969801d272971596071c8692b60eba771..6fc200a60746bbe78df304e1e11d66c6899c8799 100644
|
| --- a/test/backend/metadata_test.dart
|
| +++ b/test/backend/metadata_test.dart
|
| @@ -68,7 +68,7 @@ void main() {
|
|
|
| expect(metadata.verboseTrace, isTrue);
|
| expect(metadata.skip, isFalse);
|
| - expect(metadata.tags, ['bar', 'baz']);
|
| + expect(metadata.tags, unorderedEquals(['bar', 'baz']));
|
| expect(metadata.forTag, contains('foo'));
|
| expect(metadata.forTag['foo'].skip, isTrue);
|
| });
|
| @@ -87,10 +87,38 @@ void main() {
|
| expect(metadata.skip, isTrue);
|
| expect(metadata.skipReason, isNull);
|
| expect(metadata.timeout, equals(Timeout.none));
|
| - expect(metadata.tags, equals(['foo', 'bar', 'baz']));
|
| + expect(metadata.tags, unorderedEquals(['foo', 'bar', 'baz']));
|
| expect(metadata.forTag.keys, equals(['qux']));
|
| });
|
|
|
| + test("resolves forTags that adds a behavioral tag", () {
|
| + var metadata = new Metadata(
|
| + tags: ['foo'],
|
| + forTag: {
|
| + 'baz': new Metadata(skip: true),
|
| + 'bar': new Metadata(verboseTrace: true, tags: ['baz']),
|
| + 'foo': new Metadata(tags: ['bar'])
|
| + });
|
| +
|
| + expect(metadata.verboseTrace, isTrue);
|
| + expect(metadata.skip, isTrue);
|
| + expect(metadata.tags, unorderedEquals(['foo', 'bar', 'baz']));
|
| + expect(metadata.forTag, isEmpty);
|
| + });
|
| +
|
| + test("resolves forTags that adds circular tags", () {
|
| + var metadata = new Metadata(
|
| + tags: ['foo'],
|
| + forTag: {
|
| + 'foo': new Metadata(tags: ['bar']),
|
| + 'bar': new Metadata(tags: ['baz']),
|
| + 'baz': new Metadata(tags: ['foo'])
|
| + });
|
| +
|
| + expect(metadata.tags, unorderedEquals(['foo', 'bar', 'baz']));
|
| + expect(metadata.forTag, isEmpty);
|
| + });
|
| +
|
| test("base metadata takes precedence over forTags", () {
|
| var metadata = new Metadata(
|
| verboseTrace: true,
|
|
|