diff --git a/CHANGELOG.md b/CHANGELOG.md index 071dad0..39c84cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## 1.0.1-wip -- Require Dart 3.0 +- Update `ExpressionsProcessor.processFont` to handle null expressions. +- Require Dart 3.0. ## 1.0.0 diff --git a/lib/parser.dart b/lib/parser.dart index e978069..837007d 100644 --- a/lib/parser.dart +++ b/lib/parser.dart @@ -2836,9 +2836,9 @@ class ExpressionsProcessor { } return FontExpression(_exprs.span, - size: fontSize!.font.size, - lineHeight: fontSize.font.lineHeight, - family: fontFamily!.font.family); + size: fontSize?.font.size, + lineHeight: fontSize?.font.lineHeight, + family: fontFamily?.font.family); } } diff --git a/test/declaration_test.dart b/test/declaration_test.dart index 5dc24f6..6406efd 100644 --- a/test/declaration_test.dart +++ b/test/declaration_test.dart @@ -260,6 +260,33 @@ void testUnits() { expect(prettyPrint(stylesheet), generated); } +void testNoValues() { + var errors = []; + final input = r''' +.foo { + color: ; +} +.bar { + font:; + color: blue; +} +'''; + + final generated = r''' +.foo { + color: ; +} +.bar { + font: ; + color: #00f; +}'''; + + var stylesheet = parseCss(input, errors: errors, opts: simpleOptions); + + expect(errors.isEmpty, true, reason: errors.toString()); + expect(prettyPrint(stylesheet), generated); +} + void testUnicode() { var errors = []; final input = r''' @@ -1435,6 +1462,7 @@ void main() { test('Identifiers', testIdentifiers); test('Composites', testComposites); test('Units', testUnits); + test('No Values', testNoValues); test('Unicode', testUnicode); test('Newer CSS', testNewerCss); test('Media Queries', testMediaQueries);