mod tests {
use crate::SyntaxKind::*;
fn test_empty() {
assert_eq!(super::lex(""), vec![]);
}
fn test_simple() {
assert_eq!(
super::lex(
rMaintainer: Jelmer Vernooij <jelmer@jelmer.uk>
Section: net
Package: syncthing-gtk
Architecture: all Depends:
foo,
bar,
blah (= 1.0)
Description: a package
with a loooong
.
long
.
description
"#
),
vec![
(KEY, "Source".into()),
(COLON, ":".into()),
(WHITESPACE, " ".into()),
(VALUE, "syncthing-gtk".into()),
(NEWLINE, "\n".into()),
(KEY, "Maintainer".into()),
(COLON, ":".into()),
(WHITESPACE, " ".into()),
(VALUE, "Jelmer Vernooij <jelmer@jelmer.uk>".into()),
(NEWLINE, "\n".into()),
(KEY, "Section".into()),
(COLON, ":".into()),
(WHITESPACE, " ".into()),
(VALUE, "net".into()),
(WHITESPACE, " ".into()),
(NEWLINE, "\n".into()),
(NEWLINE, "\n".into()),
(COMMENT, " (NEWLINE, "\n".into()),
(NEWLINE, "\n".into()),
(KEY, "Package".into()),
(COLON, ":".into()),
(WHITESPACE, " ".into()),
(VALUE, "syncthing-gtk".into()),
(NEWLINE, "\n".into()),
(KEY, "Architecture".into()),
(COLON, ":".into()),
(WHITESPACE, " ".into()),
(VALUE, "all".into()),
(WHITESPACE, " ".into()),
(
COMMENT,
"# It's python so it's architecture independent".into()
),
(NEWLINE, "\n".into()),
(KEY, "Depends".into()),
(COLON, ":".into()),
(WHITESPACE, " ".into()),
(VALUE, "".into()),
(NEWLINE, "\n".into()),
(WHITESPACE, " ".into()),
(VALUE, "foo,".into()),
(NEWLINE, "\n".into()),
(WHITESPACE, " ".into()),
(VALUE, "bar,".into()),
(NEWLINE, "\n".into()),
(WHITESPACE, " ".into()),
(VALUE, "blah (= 1.0)".into()),
(NEWLINE, "\n".into()),
(KEY, "Description".into()),
(COLON, ":".into()),
(WHITESPACE, " ".into()),
(VALUE, "a package".into()),
(NEWLINE, "\n".into()),
(WHITESPACE, " ".into()),
(VALUE, "with a loooong".into()),
(NEWLINE, "\n".into()),
(WHITESPACE, " ".into()),
(VALUE, ".".into()),
(NEWLINE, "\n".into()),
(WHITESPACE, " ".into()),
(VALUE, "long".into()),
(NEWLINE, "\n".into()),
(WHITESPACE, " ".into()),
(VALUE, ".".into()),
(NEWLINE, "\n".into()),
(WHITESPACE, " ".into()),
(VALUE, "description".into()),
(NEWLINE, "\n".into()),
]
);
}
}