mod parser_tests { use compose_parser::Content; fn get_content_from_file(name: &str) -> String { let path = format!("examples/correct/{}", name); return std::fs::read_to_string(path).expect("Unable to read file"); } #[test] fn parser_correct_only_one_text() { let input = get_content_from_file("parser_correct_only_one_text.kt"); let result = compose_parser::parse_composable_content(&input); let expected = vec![ Content::FunctionName("Example".to_string()), Content::Text("\"World\"".to_string()), ]; assert!(result.is_ok()); let actual = result.unwrap(); assert_eq!(actual.len(), 2); assert_eq!(actual, expected); } #[test] fn parser_correct_only_one_image() { let input = get_content_from_file("parser_correct_only_one_image.kt"); let result = compose_parser::parse_composable_content(&input); let expected = vec![ Content::FunctionName("Example".to_string()), Content::Image("\"url.png\"".to_string()), ]; assert!(result.is_ok()); let actual = result.unwrap(); assert_eq!(actual.len(), 2); assert_eq!(actual, expected); } #[test] fn parser_correct_multiply() { let input = get_content_from_file("parser_correct_multiply.kt"); let result = compose_parser::parse_composable_content(&input); let expected = vec![ Content::FunctionName("ExampleTest".to_string()), Content::Text("\"World\"".to_string()), Content::Text("\"World Test\"".to_string()), Content::Image("\"url.png\"".to_string()), Content::Text("\"World Test Parser\"".to_string()), ]; assert!(result.is_ok()); let actual = result.unwrap(); assert_eq!(actual.len(), 5); assert_eq!(actual, expected); } }