Prevents exception for invalid dimension terms

While running outside of checked mode, parsing an invalid term expression
followed by a known dimension unit like

    width: Infinity%;

caused the following exception to be thrown:

    The getter 'text' was called on null.
    Receiver: null

Instead the parser now discards the invalid term, likely resulting in a useful
error message indicating the source of failure such as

    error on ...: expected }, but found %
      width: Infinity%;
                     ^

Fixes #43.
2 files changed
tree: 03f6616e25dda3628f1fa6b8d6c1da7f32eba390
  1. bin/
  2. example/
  3. lib/
  4. test/
  5. .analysis_options
  6. .gitignore
  7. .test_config
  8. CHANGELOG.md
  9. codereview.settings
  10. LICENSE
  11. pubspec.yaml
  12. README.md
README.md

CSS parser library for Dart

This is a CSS parser written entirely in Dart. It can be used in the client/server/command line.

This package is installed with Pub, see: install instructions for this package.

Usage

Parsing CSS is easy!

import 'package:csslib/parser.dart' show parse;
import 'package:csslib/css.dart';

main() {
  var stylesheet = parse(
      '.foo { color: red; left: 20px; top: 20px; width: 100px; height:200px }');
  print(stylesheet.toString());
}

You can pass a String or list of bytes to parse.

Running Tests

Basic tests can be found in this repository:

pub run test

The full CSS test suite can be found in https://github.com/dart-lang/csslib-test-suite

cd ../csslib-test-suite
./run.sh