Clone this repo:
  1. aa99e99 blast_repo fixes (#72) by Kevin Moore · 35 hours ago master
  2. a3db1ef Bump actions/checkout from 4.1.7 to 4.2.0 in the github-actions group (#71) by dependabot[bot] · 4 weeks ago
  3. 3b85d38 Fix angle brackets in doc comments (#70) by Kevin Moore · 9 weeks ago
  4. 90743bc Bump the github-actions group with 2 updates (#69) by dependabot[bot] · 4 months ago
  5. 2f19400 update lints (#68) by Kevin Moore · 4 months ago

Dart CI pub package package publisher

The test_descriptor package provides a convenient, easy-to-read API for defining and verifying directory structures in tests.

Usage

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/test.dart';
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 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.