rules 0.0.2

An implementation of Perl 6 regex rules
Documentation
use rules::unicode::regex::PERLS;
use rules::parse::Ast::*;
use rules::parse::Membership::*;

use super::parse;

#[test]
fn text() {
    assert_eq!(vec![Char('f'), Char('r'), Char('e'), Char('d')], parse(r"fred"));
    assert_eq!(vec![Char('t'), Char('_'), Char('d')], parse(r"t_d"));
}
#[test]
fn ignore_whitespace() {
    assert_eq!(vec![Char('f'), Char('r'), Char('e'), Char('d')], parse(r" f r e d "));
    assert_eq!(vec![Char('b'), Char('o'), Char('f'), Char('l'), Char('e'), Char('x')],
               parse(r" bo
    flex "));
}
#[test]
fn dot() {
    assert_eq!(vec![Char('f'), Char('r'), Char('e'), Dot], parse(r" fre. "));
    assert_eq!(vec![Char('t'), Dot, Dot, Char('e')], parse(r" t..e "));
}
#[test]
fn unicode() {
    assert_eq!(vec![Char(''), Char(''), Char('')], parse(r"こんに"));
}
#[test]
fn escapes() {
    assert_eq!(vec![Set(PERLS.into(), Inclusive)], parse(r"\s"));
    assert_eq!(vec![Set(PERLS.into(), Exclusive)], parse(r"\S"));
}