Run tests on windows (#142)
Use ascii glyphs on all OSes in tests.
diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml
index e47bf66..09e10b0 100644
--- a/.github/workflows/test-package.yml
+++ b/.github/workflows/test-package.yml
@@ -46,7 +46,7 @@
fail-fast: false
matrix:
# Add macos-latest and/or windows-latest if relevant for this package.
- os: [ubuntu-latest]
+ os: [ubuntu-latest, windows-latest]
sdk: [2.12.0, dev]
steps:
- uses: actions/checkout@v2
diff --git a/test/error_test.dart b/test/error_test.dart
index 5b211c2..b6be913 100644
--- a/test/error_test.dart
+++ b/test/error_test.dart
@@ -6,6 +6,7 @@
import 'package:csslib/src/messages.dart';
import 'package:test/test.dart';
+import 'package:term_glyph/term_glyph.dart' as glyph;
import 'testing.dart';
@@ -19,12 +20,12 @@
var stylesheet = parseCss(input, errors: errors);
expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
+ expect(errors[0].toString(), '''
error on line 1, column 24: Unknown property value bolder
- ╷
-1 │ .foobar { font-weight: bolder; }
- │ ^^^^^^
- ╵''');
+ ,
+1 | .foobar { font-weight: bolder; }
+ | ^^^^^^
+ \'''');
expect(prettyPrint(stylesheet), r'''
.foobar {
@@ -37,12 +38,12 @@
stylesheet = parseCss(input, errors: errors..clear());
expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
+ expect(errors[0].toString(), '''
error on line 1, column 24: Unknown property value lighter
- ╷
-1 │ .foobar { font-weight: lighter; }
- │ ^^^^^^^
- ╵''');
+ ,
+1 | .foobar { font-weight: lighter; }
+ | ^^^^^^^
+ \'''');
expect(prettyPrint(stylesheet), r'''
.foobar {
font-weight: lighter;
@@ -54,12 +55,12 @@
stylesheet = parseCss(input, errors: errors..clear());
expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
+ expect(errors[0].toString(), '''
error on line 1, column 24: Unknown property value inherit
- ╷
-1 │ .foobar { font-weight: inherit; }
- │ ^^^^^^^
- ╵''');
+ ,
+1 | .foobar { font-weight: inherit; }
+ | ^^^^^^^
+ \'''');
expect(prettyPrint(stylesheet), r'''
.foobar {
font-weight: inherit;
@@ -76,12 +77,12 @@
var stylesheet = parseCss(input, errors: errors);
expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
+ expect(errors[0].toString(), '''
error on line 1, column 24: Unexpected value for line-height
- ╷
-1 │ .foobar { line-height: 120%; }
- │ ^^^
- ╵''');
+ ,
+1 | .foobar { line-height: 120%; }
+ | ^^^
+ \'''');
expect(prettyPrint(stylesheet), r'''
.foobar {
line-height: 120%;
@@ -93,12 +94,12 @@
stylesheet = parseCss(input, errors: errors..clear());
expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
+ expect(errors[0].toString(), '''
error on line 1, column 24: Unexpected unit for line-height
- ╷
-1 │ .foobar { line-height: 20cm; }
- │ ^^
- ╵''');
+ ,
+1 | .foobar { line-height: 20cm; }
+ | ^^
+ \'''');
expect(prettyPrint(stylesheet), r'''
.foobar {
line-height: 20cm;
@@ -110,12 +111,12 @@
stylesheet = parseCss(input, errors: errors..clear());
expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
+ expect(errors[0].toString(), '''
error on line 1, column 24: Unknown property value inherit
- ╷
-1 │ .foobar { line-height: inherit; }
- │ ^^^^^^^
- ╵''');
+ ,
+1 | .foobar { line-height: inherit; }
+ | ^^^^^^^
+ \'''');
expect(prettyPrint(stylesheet), r'''
.foobar {
line-height: inherit;
@@ -131,24 +132,24 @@
parseCss(input, errors: errors);
expect(errors, isNotEmpty);
- expect(errors[0].toString(), r'''
+ expect(errors[0].toString(), '''
error on line 1, column 1: Not a valid ID selector expected #id
- ╷
-1 │ # foo { color: #ff00ff; }
- │ ^
- ╵''');
+ ,
+1 | # foo { color: #ff00ff; }
+ | ^
+ \'''');
// Invalid class selector.
input = '. foo { color: #ff00ff; }';
parseCss(input, errors: errors..clear());
expect(errors, isNotEmpty);
- expect(errors[0].toString(), r'''
+ expect(errors[0].toString(), '''
error on line 1, column 1: Not a valid class selector expected .className
- ╷
-1 │ . foo { color: #ff00ff; }
- │ ^
- ╵''');
+ ,
+1 | . foo { color: #ff00ff; }
+ | ^
+ \'''');
}
/// Test for bad hex values.
@@ -160,12 +161,12 @@
var stylesheet = parseCss(input, errors: errors);
expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
+ expect(errors[0].toString(), '''
error on line 1, column 18: Bad hex number
- ╷
-1 │ .foobar { color: #AH787; }
- │ ^^^^^^
- ╵''');
+ ,
+1 | .foobar { color: #AH787; }
+ | ^^^^^^
+ \'''');
expect(prettyPrint(stylesheet), r'''
.foobar {
color: #AH787;
@@ -176,12 +177,12 @@
stylesheet = parseCss(input, errors: errors..clear());
expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
+ expect(errors[0].toString(), '''
error on line 1, column 18: Unknown property value redder
- ╷
-1 │ .foobar { color: redder; }
- │ ^^^^^^
- ╵''');
+ ,
+1 | .foobar { color: redder; }
+ | ^^^^^^
+ \'''');
expect(prettyPrint(stylesheet), r'''
.foobar {
@@ -193,12 +194,12 @@
stylesheet = parseCss(input, errors: errors..clear());
expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
+ expect(errors[0].toString(), '''
error on line 1, column 18: Expected hex number
- ╷
-1 │ .foobar { color: # ffffff; }
- │ ^
- ╵''');
+ ,
+1 | .foobar { color: # ffffff; }
+ | ^
+ \'''');
expect(prettyPrint(stylesheet), r'''
.foobar {
@@ -210,12 +211,12 @@
stylesheet = parseCss(input, errors: errors..clear());
expect(errors.isEmpty, false);
- expect(errors[0].toString(), r'''
+ expect(errors[0].toString(), '''
error on line 1, column 18: Expected hex number
- ╷
-1 │ .foobar { color: # 123fff; }
- │ ^
- ╵''');
+ ,
+1 | .foobar { color: # 123fff; }
+ | ^
+ \'''');
// Formating is off with an extra space. However, the entire value is bad
// and isn't processed anyway.
@@ -240,10 +241,10 @@
errors[0].toString(),
'error on line 3, column 20: unicode first range can not be greater than '
'last\n'
- ' ╷\n'
- '3 │ unicode-range: U+400-200;\n'
- ' │ ^^^^^^^\n'
- ' ╵');
+ ' ,\n'
+ '3 | unicode-range: U+400-200;\n'
+ ' | ^^^^^^^\n'
+ ' \'');
final input2 = '''
@font-face {
@@ -257,10 +258,10 @@
expect(
errors[0].toString(),
'error on line 3, column 20: unicode range must be less than 10FFFF\n'
- ' ╷\n'
- '3 │ unicode-range: U+12FFFF;\n'
- ' │ ^^^^^^\n'
- ' ╵');
+ ' ,\n'
+ '3 | unicode-range: U+12FFFF;\n'
+ ' | ^^^^^^\n'
+ ' \'');
}
void testBadNesting() {
@@ -350,6 +351,7 @@
}
void main() {
+ glyph.ascii = true;
test('font-weight value errors', testUnsupportedFontWeights);
test('line-height value errors', testUnsupportedLineHeights);
test('bad selectors', testBadSelectors);
diff --git a/test/selector_test.dart b/test/selector_test.dart
index 93c8483..ae4dbbd 100644
--- a/test/selector_test.dart
+++ b/test/selector_test.dart
@@ -5,6 +5,7 @@
library selector_test;
import 'package:csslib/parser.dart';
+import 'package:term_glyph/term_glyph.dart' as glyph;
import 'package:test/test.dart';
import 'testing.dart';
@@ -71,22 +72,23 @@
errors[0].toString(),
'error on line 1, column 9: name must start with a alpha character, but '
'found a number\n'
- ' ╷\n'
- '1 │ .foobar .1a-story .xyzzy\n'
- ' │ ^^\n'
- ' ╵');
+ ' ,\n'
+ '1 | .foobar .1a-story .xyzzy\n'
+ ' | ^^\n'
+ ' \'');
selector(':host()', errors: errors..clear());
expect(
errors.first.toString(),
'error on line 1, column 7: expected a selector argument, but found )\n'
- ' ╷\n'
- '1 │ :host()\n'
- ' │ ^\n'
- ' ╵');
+ ' ,\n'
+ '1 | :host()\n'
+ ' | ^\n'
+ ' \'');
}
void main() {
+ glyph.ascii = true;
test('Valid Selectors', testSelectorSuccesses);
test('Invalid Selectors', testSelectorFailures);
}
diff --git a/test/var_test.dart b/test/var_test.dart
index 923d121..079955f 100644
--- a/test/var_test.dart
+++ b/test/var_test.dart
@@ -5,6 +5,7 @@
library var_test;
import 'package:csslib/src/messages.dart';
+import 'package:term_glyph/term_glyph.dart' as glyph;
import 'package:test/test.dart';
import 'testing.dart';
@@ -404,40 +405,40 @@
var errorStrings = [
'error on line 5, column 14: Variable is not defined.\n'
- ' ╷\n'
- '5 │ var-a: var(b);\n'
- ' │ ^^\n'
- ' ╵',
+ ' ,\n'
+ '5 | var-a: var(b);\n'
+ ' | ^^\n'
+ ' \'',
'error on line 6, column 14: Variable is not defined.\n'
- ' ╷\n'
- '6 │ var-b: var(c);\n'
- ' │ ^^\n'
- ' ╵',
+ ' ,\n'
+ '6 | var-b: var(c);\n'
+ ' | ^^\n'
+ ' \'',
'error on line 9, column 16: Variable is not defined.\n'
- ' ╷\n'
- '9 │ var-one: var(two);\n'
- ' │ ^^^^\n'
- ' ╵',
+ ' ,\n'
+ '9 | var-one: var(two);\n'
+ ' | ^^^^\n'
+ ' \'',
'error on line 12, column 17: Variable is not defined.\n'
- ' ╷\n'
- '12 │ var-four: var(five);\n'
- ' │ ^^^^^\n'
- ' ╵',
+ ' ,\n'
+ '12 | var-four: var(five);\n'
+ ' | ^^^^^\n'
+ ' \'',
'error on line 13, column 17: Variable is not defined.\n'
- ' ╷\n'
- '13 │ var-five: var(six);\n'
- ' │ ^^^^\n'
- ' ╵',
+ ' ,\n'
+ '13 | var-five: var(six);\n'
+ ' | ^^^^\n'
+ ' \'',
'error on line 16, column 18: Variable is not defined.\n'
- ' ╷\n'
- '16 │ var-def-1: var(def-2);\n'
- ' │ ^^^^^^\n'
- ' ╵',
+ ' ,\n'
+ '16 | var-def-1: var(def-2);\n'
+ ' | ^^^^^^\n'
+ ' \'',
'error on line 17, column 18: Variable is not defined.\n'
- ' ╷\n'
- '17 │ var-def-2: var(def-3);\n'
- ' │ ^^^^^^\n'
- ' ╵',
+ ' ,\n'
+ '17 | var-def-2: var(def-3);\n'
+ ' | ^^^^^^\n'
+ ' \'',
];
var generated = r'''
@@ -943,6 +944,7 @@
}
void main() {
+ glyph.ascii = true;
test('Simple var', simpleVar);
test('Expressions var', expressionsVar);
test('Default value in var()', defaultVar);