commit | bbd1ad4da35760f82f980943f2e538e7fbad3a0c | [log] [tgz] |
---|---|---|
author | Natalie Weizenbaum <nweiz@google.com> | Wed Jan 18 14:03:38 2017 -0800 |
committer | GitHub <noreply@github.com> | Wed Jan 18 14:03:38 2017 -0800 |
tree | 493766749bf36a7b146ddec10cb892af0395dead | |
parent | f74cf07e43e40bd49e5657a10152329400fc067c [diff] |
Add the contents of the package. (#1) This is ported from the scheduled_test package, altered to remove scheduling and to use a more modern style.
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
][glyph.ascii] attribute.