use vb6parse::*;
#[test]
fn test_enum_with_square_bracket_attributes() {
let source = r"
Public Enum MyEnum
[FirstValue]
[SecondValue]
[ThirdValue]
End Enum
";
let (cst_opt, _failures) = ConcreteSyntaxTree::from_text("test.bas", source).unpack();
let cst = cst_opt.expect("CST should parse successfully");
let tree = cst.to_serializable();
let tree_str = format!("{tree:?}");
assert!(
!tree_str.contains("Unknown"),
"CST should not contain any Unknown tokens for enum with square bracket attributes"
);
assert!(
tree_str.contains("LeftSquareBracket"),
"CST should contain LeftSquareBracket tokens"
);
assert!(
tree_str.contains("RightSquareBracket"),
"CST should contain RightSquareBracket tokens"
);
}
#[test]
fn test_enum_with_keyword_in_brackets() {
let source = r"
Public Enum MediaType
[Beep]
[Error]
[End]
End Enum
";
let (cst_opt, _failures) = ConcreteSyntaxTree::from_text("test.bas", source).unpack();
let cst = cst_opt.expect("CST should parse successfully");
let tree = cst.to_serializable();
let tree_str = format!("{tree:?}");
assert!(
!tree_str.contains("Unknown"),
"CST should not contain any Unknown tokens for enum with keywords in brackets"
);
}
#[test]
fn test_enum_status_with_brackets() {
let enum_source = r"
Public Enum Status
[Active]
[Inactive]
End Enum
";
let (cst_opt, _failures) = ConcreteSyntaxTree::from_text("test.bas", enum_source).unpack();
let cst = cst_opt.expect("CST should parse successfully");
let tree = cst.to_serializable();
let tree_str = format!("{tree:?}");
assert!(
!tree_str.contains("Unknown"),
"Enum with square brackets should not have Unknown tokens"
);
}