use gura::{errors::Error, object, parse, parser::GuraType};
mod common;
fn get_expected() -> GuraType {
object! {
user1: {
name: "Carlos",
surname: "Gardel",
testing_nested: {
nested_1: 1,
nested_2: 2
},
year_of_birth: 1890
},
user2: {
name: "AnĂbal",
surname: "Troilo",
year_of_birth: 1914
}
}
}
fn get_empty_object() -> GuraType {
object! {
empty_object: {}
}
}
const PARENT_FOLDER: &str = "objects";
#[test]
fn test_normal() {
let parsed_data = common::get_file_content_parsed(PARENT_FOLDER, "normal.ura").unwrap();
assert_eq!(parsed_data, get_expected());
}
#[test]
fn test_empty() {
let parsed_data = parse("empty_object: empty").unwrap();
assert_eq!(parsed_data, get_empty_object());
}
#[test]
fn test_empty_2() {
let parsed_data = parse("empty_object: empty ").unwrap();
assert_eq!(parsed_data, get_empty_object());
}
#[test]
fn test_empty_3() {
let parsed_data = common::get_file_content_parsed(PARENT_FOLDER, "empty.ura").unwrap();
assert_eq!(parsed_data, get_empty_object());
}
#[test]
fn test_with_comments() {
let parsed_data = common::get_file_content_parsed(PARENT_FOLDER, "with_comments.ura").unwrap();
assert_eq!(parsed_data, get_expected());
}
#[test]
fn test_invalid() {
let parsed_data = common::get_file_content_parsed(PARENT_FOLDER, "invalid.ura");
assert_eq!(parsed_data.unwrap_err().kind, Error::ParseError);
}
#[test]
fn test_invalid_2() {
let parsed_data = common::get_file_content_parsed(PARENT_FOLDER, "invalid_2.ura");
assert_eq!(
parsed_data.unwrap_err().kind,
Error::InvalidIndentationError
);
}
#[test]
fn test_invalid_3() {
let parsed_data = common::get_file_content_parsed(PARENT_FOLDER, "invalid_3.ura");
assert_eq!(parsed_data.unwrap_err().kind, Error::ParseError);
}