commit | 768aaf79f7063e9f52f37225baeed0fd6e498bb1 | [log] [tgz] |
---|---|---|
author | Jacob MacDonald <jakemac@google.com> | Tue Feb 09 12:14:52 2021 -0800 |
committer | GitHub <noreply@github.com> | Tue Feb 09 12:14:52 2021 -0800 |
tree | ceac2e49a5adbf9cedc0068b70605ee554377f85 | |
parent | 1f8ba94222031963d53e6fec68c8caab58009bba [diff] |
stable null safety release (#34)
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.