2016-12-03 00:19:24 +01:00
|
|
|
// Copyright 2016 Google Inc. Use of this source code is governed by an
|
|
|
|
// MIT-style license that can be found in the LICENSE file or at
|
|
|
|
// https://opensource.org/licenses/MIT.
|
|
|
|
|
2017-07-07 02:36:15 +02:00
|
|
|
@TestOn('vm')
|
|
|
|
|
2021-03-09 23:36:48 +01:00
|
|
|
import 'dart:convert';
|
|
|
|
|
2020-01-24 22:05:04 +01:00
|
|
|
import 'package:cli_pkg/testing.dart' as pkg;
|
2017-05-25 23:23:48 +02:00
|
|
|
import 'package:test/test.dart';
|
|
|
|
import 'package:test_descriptor/test_descriptor.dart' as d;
|
|
|
|
import 'package:test_process/test_process.dart';
|
2016-12-03 00:19:24 +01:00
|
|
|
|
2018-05-31 00:35:35 +02:00
|
|
|
import 'shared.dart';
|
2016-12-03 00:19:24 +01:00
|
|
|
|
|
|
|
void main() {
|
2018-06-27 22:12:16 +02:00
|
|
|
setUpAll(ensureSnapshotUpToDate);
|
|
|
|
|
2018-05-31 00:35:35 +02:00
|
|
|
sharedTests(runSass);
|
2016-12-03 02:30:09 +01:00
|
|
|
|
2017-05-25 23:23:48 +02:00
|
|
|
test("--version prints the Sass version", () async {
|
2018-05-31 00:35:35 +02:00
|
|
|
var sass = await runSass(["--version"]);
|
2018-11-16 00:16:24 +01:00
|
|
|
expect(sass.stdout, emits(matches(RegExp(r"^\d+\.\d+\.\d+"))));
|
2017-05-25 23:23:48 +02:00
|
|
|
await sass.shouldExit(0);
|
2016-12-03 02:30:09 +01:00
|
|
|
});
|
2016-12-03 00:19:24 +01:00
|
|
|
}
|
2016-12-03 02:30:09 +01:00
|
|
|
|
2018-06-27 22:12:16 +02:00
|
|
|
/// Ensures that the snapshot of the Dart executable used by [runSass] is
|
|
|
|
/// up-to-date, if one has been generated.
|
2020-01-24 22:05:04 +01:00
|
|
|
void ensureSnapshotUpToDate() => pkg.ensureExecutableUpToDate("sass");
|
2018-06-27 22:12:16 +02:00
|
|
|
|
2018-11-06 00:24:14 +01:00
|
|
|
Future<TestProcess> runSass(Iterable<String> arguments,
|
2021-03-17 03:25:39 +01:00
|
|
|
{Map<String, String>? environment}) =>
|
2020-01-24 22:05:04 +01:00
|
|
|
pkg.start("sass", arguments,
|
2021-03-09 23:36:48 +01:00
|
|
|
environment: environment, workingDirectory: d.sandbox, encoding: utf8);
|