MCPcopy Create free account
hub / github.com/2kai2kai2/ere / parse_atom_brackets

Function parse_atom_brackets

ere-core/src/parse_tree.rs:941–1017  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

939
940 #[test]
941 fn parse_atom_brackets() {
942 assert_eq!(
943 Atom::take("[ab]"),
944 Ok((
945 "",
946 Atom::MatchingList(vec![
947 BracketExpressionTerm::Single('a'),
948 BracketExpressionTerm::Single('b'),
949 ])
950 ))
951 );
952 assert_eq!(
953 Atom::take("[]ab]"),
954 Ok((
955 "",
956 Atom::MatchingList(vec![
957 BracketExpressionTerm::Single(']'),
958 BracketExpressionTerm::Single('a'),
959 BracketExpressionTerm::Single('b'),
960 ])
961 ))
962 );
963 assert_eq!(
964 Atom::take("[]ab-]"),
965 Ok((
966 "",
967 Atom::MatchingList(vec![
968 BracketExpressionTerm::Single(']'),
969 BracketExpressionTerm::Single('a'),
970 BracketExpressionTerm::Single('b'),
971 BracketExpressionTerm::Single('-'),
972 ])
973 ))
974 );
975
976 assert_eq!(
977 Atom::take("[]a-y]"),
978 Ok((
979 "",
980 Atom::MatchingList(vec![
981 BracketExpressionTerm::Single(']'),
982 BracketExpressionTerm::Range('a', 'y'),
983 ])
984 ))
985 );
986 assert_eq!(
987 Atom::take("[]+--]"),
988 Ok((
989 "",
990 Atom::MatchingList(vec![
991 BracketExpressionTerm::Single(']'),
992 BracketExpressionTerm::Range('+', '-'),
993 ])
994 ))
995 );
996
997 assert_eq!(
998 Atom::take("[^]a-y]"),

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected