use somedoc::write::markdown::MarkdownFlavor; use somedoc::write::OutputFormat; use std::str::FromStr; #[test] fn test_to_string() { assert_eq!(OutputFormat::Html.to_string(), "html".to_string()); assert_eq!(OutputFormat::Json.to_string(), "json".to_string()); assert_eq!(OutputFormat::Latex.to_string(), "latex".to_string()); assert_eq!( OutputFormat::Markdown(Default::default()).to_string(), "markdown+commonmark".to_string() ); assert_eq!( OutputFormat::Markdown(MarkdownFlavor::Strict).to_string(), "markdown+strict".to_string() ); assert_eq!( OutputFormat::Markdown(MarkdownFlavor::CommonMark).to_string(), "markdown+commonmark".to_string() ); assert_eq!( OutputFormat::Markdown(MarkdownFlavor::GitHub).to_string(), "markdown+gfm".to_string() ); assert_eq!( OutputFormat::Markdown(MarkdownFlavor::Multi).to_string(), "markdown+multi".to_string() ); assert_eq!( OutputFormat::Markdown(MarkdownFlavor::PhpExtra).to_string(), "markdown+extra".to_string() ); assert_eq!( OutputFormat::Markdown(MarkdownFlavor::XWiki).to_string(), "markdown+xwiki".to_string() ); } #[test] fn test_from_str() { assert_eq!(OutputFormat::from_str("html").unwrap(), OutputFormat::Html); assert_eq!(OutputFormat::from_str("json").unwrap(), OutputFormat::Json); assert_eq!( OutputFormat::from_str("latex").unwrap(), OutputFormat::Latex ); assert_eq!( OutputFormat::from_str("markdown").unwrap(), OutputFormat::Markdown(Default::default()) ); assert_eq!( OutputFormat::from_str("markdown+strict").unwrap(), OutputFormat::Markdown(MarkdownFlavor::Strict) ); assert_eq!( OutputFormat::from_str("markdown+commonmark").unwrap(), OutputFormat::Markdown(MarkdownFlavor::CommonMark) ); assert_eq!( OutputFormat::from_str("markdown+gfm").unwrap(), OutputFormat::Markdown(MarkdownFlavor::GitHub) ); assert_eq!( OutputFormat::from_str("markdown+multi").unwrap(), OutputFormat::Markdown(MarkdownFlavor::Multi) ); assert_eq!( OutputFormat::from_str("markdown+extra").unwrap(), OutputFormat::Markdown(MarkdownFlavor::PhpExtra) ); assert_eq!( OutputFormat::from_str("markdown+xwiki").unwrap(), OutputFormat::Markdown(MarkdownFlavor::XWiki) ); } #[test] fn test_from_str_extras() { assert_eq!( OutputFormat::from_str("markdown+og").unwrap(), OutputFormat::Markdown(MarkdownFlavor::Strict) ); assert_eq!( OutputFormat::from_str("markdown+cm").unwrap(), OutputFormat::Markdown(MarkdownFlavor::CommonMark) ); assert_eq!( OutputFormat::from_str("markdown+common").unwrap(), OutputFormat::Markdown(MarkdownFlavor::CommonMark) ); assert_eq!( OutputFormat::from_str("markdown+github").unwrap(), OutputFormat::Markdown(MarkdownFlavor::GitHub) ); assert_eq!( OutputFormat::from_str("markdown+mmd").unwrap(), OutputFormat::Markdown(MarkdownFlavor::Multi) ); assert_eq!( OutputFormat::from_str("markdown+php_extra").unwrap(), OutputFormat::Markdown(MarkdownFlavor::PhpExtra) ); }