Enable Windows testing of MemoryFileSystem (#52)

LocalFileSystem exposes a number of bugs in the Dart VM on Windows,
so for now we'll skip those, but this at least ensures that MemoryFileSystem
will have Windows testing, since it has no excuse to not run on Windows.

First step in #51
1 file changed
tree: 2ff41514af01b5cadc38f98f71daa20ce26a206e
  1. contrib/
  2. lib/
  3. test/
  4. tool/
  5. .analysis_options
  6. .gitignore
  7. .travis.yml
  8. appveyor.yml
  9. CHANGELOG.md
  10. LICENSE
  11. pubspec.yaml
  12. README.md
README.md

Build Status Coverage Status

File

A generic file system abstraction for Dart.

Like dart:io, package:file supplies a rich Dart-idiomatic API for accessing a file system.

Unlike dart:io, package:file:

  • Can be used to implement custom file systems.
  • Comes with an in-memory implementation out-of-the-box, making it super-easy to test code that works with the file system.
  • Allows using multiple file systems simultaneously. A file system is a first-class object. Instantiate however many you want and use them all.

Usage

Implement your own custom file system:

import 'package:file/file.dart';

class FooBarFileSystem implements FileSystem { ... }

Use the in-memory file system:

import 'package:file/memory.dart';

var fs = new MemoryFileSystem();

Use the local file system (requires dart:io access):

import 'package:file/local.dart';

var fs = const LocalFileSystem();