1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
use crate::parser::{ParseResult, Parser};
mod span;
pub use span::Span;
pub fn from_str(content: &str) -> ParseResult {
	let mut parser = Parser::new(content);
	parser.parse()
}
#[cfg(test)]
mod tests {
	#[test]
	fn from_str() {
		use crate::value::Value;
		let content = r#"["megumin", "kazuma", "aqua"]"#;
		let result = super::from_str(content).expect("Invalid JSON");
		assert_eq!(
			result,
			Value::test_array(vec![
				Value::test_string("megumin"),
				Value::test_string("kazuma"),
				Value::test_string("aqua"),
			])
		);
	}
}