MCPcopy Create free account
hub / github.com/davidblewett/rure-python / byte_classes

Function byte_classes

regex/src/compile.rs:1077–1105  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1075
1076 #[test]
1077 fn byte_classes() {
1078 let mut set = ByteClassSet::new();
1079 set.set_range(b'a', b'z');
1080 let classes = set.byte_classes();
1081 assert_eq!(classes[0], 0);
1082 assert_eq!(classes[1], 0);
1083 assert_eq!(classes[2], 0);
1084 assert_eq!(classes[b'a' as usize - 1], 0);
1085 assert_eq!(classes[b'a' as usize], 1);
1086 assert_eq!(classes[b'm' as usize], 1);
1087 assert_eq!(classes[b'z' as usize], 1);
1088 assert_eq!(classes[b'z' as usize + 1], 2);
1089 assert_eq!(classes[254], 2);
1090 assert_eq!(classes[255], 2);
1091
1092 let mut set = ByteClassSet::new();
1093 set.set_range(0, 2);
1094 set.set_range(4, 6);
1095 let classes = set.byte_classes();
1096 assert_eq!(classes[0], 0);
1097 assert_eq!(classes[1], 0);
1098 assert_eq!(classes[2], 0);
1099 assert_eq!(classes[3], 1);
1100 assert_eq!(classes[4], 2);
1101 assert_eq!(classes[5], 2);
1102 assert_eq!(classes[6], 2);
1103 assert_eq!(classes[7], 3);
1104 assert_eq!(classes[255], 3);
1105 }
1106
1107 #[test]
1108 fn full_byte_classes() {

Callers

nothing calls this directly

Calls 2

set_rangeMethod · 0.80
byte_classesMethod · 0.80

Tested by

no test coverage detected