commit | ac318afe78261d491cef521cb98b64e5f9d05161 | [log] [tgz] |
---|---|---|
author | Jacob MacDonald <jakemac@google.com> | Thu Nov 05 12:08:20 2020 -0800 |
committer | GitHub <noreply@github.com> | Thu Nov 05 12:08:20 2020 -0800 |
tree | 3dd2ffdc1b69b4dc52fb8dbbc2c24faa223a887c | |
parent | 4eb8aa9a130730a644616030686e56935891642c [diff] |
Migrate to null safety (#29) Dropped support for archives as planned in https://github.com/dart-lang/test_descriptor/issues/25 - this also allows us to migrate before `package:archive`. Closes https://github.com/dart-lang/test_descriptor/issues/25
The test_descriptor
package provides a convenient, easy-to-read API for defining and verifying directory structures in tests.
We recommend that you import this library with the d
prefix. The d.dir()
and d.file()
functions are the main entrypoints. They define a filesystem structure that can be created using Descriptor.create()
and verified using Descriptor.validate()
. For example:
import 'dart:io'; import 'package:test_descriptor/test_descriptor.dart' as d; void main() { test("Directory.rename", () async { await d.dir("parent", [ d.file("sibling", "sibling-contents"), d.dir("old-name", [ d.file("child", "child-contents") ]) ]).create(); await new Directory("${d.sandbox}/parent/old-name") .rename("${d.sandbox}/parent/new-name"); await d.dir("parent", [ d.file("sibling", "sibling-contents"), d.dir("new-name", [ d.file("child", "child-contents") ]) ]).validate(); }); }
By default, descriptors create entries in a temporary sandbox directory, d.sandbox
. A new sandbox is automatically created the first time you create a descriptor in a given test, and automatically deleted once the test finishes running.
This package is term_glyph
aware. It will decide whether to use ASCII or Unicode glyphs based on the glyph.ascii
attribute.