process_plus 2.0.0 copy "process_plus: ^2.0.0" to clipboard
process_plus: ^2.0.0 copied to clipboard

Helpers classes and added functionality for `package:process`.

example/main.dart

import 'dart:io';
import 'package:process_plus/process_plus.dart';
import 'package:test/test.dart';
import 'completed_process.dart';

void main() {
  var r = ProcessResult(0, 0, hello, world);
  MockProcessManager manager;

  setUp(() async {
    manager = MockProcessManager();
  });

  test('canRun', () {
    manager..enqueueCanRun(true)..enqueueCanRun(false);
    expect(manager.canRun('foo'), true);
    expect(manager.canRun('foo'), false);
  });

  test('kill', () {
    manager..enqueueKill(true)..enqueueKill(false);
    expect(manager.killPid(0), true);
    expect(manager.killPid(0), false);
  });

  test('queue process', () async {
    manager.enqeueProcess(CompletedProcess(r));
    var p = await manager.start(['foo']);
    expect(await p.pid, r.pid);
    expect(await p.exitCode, r.exitCode);
    expect(await p.stdout.first, hello);
    expect(await p.stderr.first, world);
  });

  group('queue process result', () {
    setUp(() async {
      manager..enqeue(r)..enqeue(r);
    });

    test('runSync', () => expect(manager.runSync(['foo']), r));
    test('run', () async => expect(await manager.run(['foo']), r));
  });
}
1
likes
30
pub points
0%
popularity

Publisher

unverified uploader

Helpers classes and added functionality for `package:process`.

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

pool, process

More

Packages that depend on process_plus