commit | 60ec56c866f318b00de6ef66d422e649b9a6cdf8 | [log] [tgz] |
---|---|---|
author | Leon Senft <leonsenft@google.com> | Thu Feb 23 18:10:03 2017 -0800 |
committer | Leon Senft <leonsenft@google.com> | Thu Feb 23 18:10:03 2017 -0800 |
tree | 21a35a57690d7e7e0da5742cd0646a8de6d11304 | |
parent | 2ab5f5f1f4dcd6373db8edfa9ae3eb69855d2843 [diff] |
Fixes parsing string with unicode-range sequences Strings with character sequences that resemble `unicode-range` property values, `U+0-10FFFF`, would be missing the `U+` sequence in the parsed output. This is because the tokenizer doesn't tokenize strings as their own tokens, and midway through a string it was trying to emit a unicode range token. We now check to see if we're currently parsing a string before interpreting `U+` as the beginning of a unicode range.
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.
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
.
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