blob: f4aee700d41cd982fc38c1518f2d85b706e966ce [file] [log] [blame]
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@TestOn('vm')
library;
import 'dart:io';
import 'package:csslib/parser.dart';
import 'package:path/path.dart' as path;
import 'package:test/test.dart';
const testOptions = PreprocessorOptions(
useColors: false,
checked: false,
warningsAsErrors: true,
inputFile: 'memory',
);
void testCSSFile(File cssFile) {
final errors = <Message>[];
final css = cssFile.readAsStringSync();
final stylesheet = parse(css, errors: errors, options: testOptions);
expect(stylesheet, isNotNull);
expect(errors, isEmpty, reason: errors.toString());
}
void main() async {
// Iterate over all sub-folders of third_party,
// and then all css files in those.
final thirdParty = path.join(Directory.current.path, 'third_party');
for (var entity in Directory(thirdParty).listSync()) {
if (await FileSystemEntity.isDirectory(entity.path)) {
for (var element in Directory(entity.path).listSync()) {
if (element is File && element.uri.pathSegments.last.endsWith('.css')) {
test(element.uri.pathSegments.last, () => testCSSFile(element));
}
}
}
}
}