Separate the testing OPML samples out into files.
This commit is contained in:
parent
823a137a76
commit
ba5d7c3edd
|
@ -1,60 +1,38 @@
|
||||||
// TODO: Extract all the OPML strings out and put them into their own files.
|
use std::fs::read_to_string as read;
|
||||||
|
|
||||||
use opml::*;
|
use opml::*;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[should_panic]
|
#[should_panic]
|
||||||
fn test_invalid_xml() {
|
fn test_invalid_xml() {
|
||||||
OPML::new(r#"{not xml :)"#).unwrap();
|
let sample = read("tests/samples/invalid_xml.opml").unwrap();
|
||||||
|
OPML::new(sample.as_str()).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[should_panic(expected = "Unsupported OPML version detected: 1.0")]
|
#[should_panic(expected = "Unsupported OPML version detected: 1.0")]
|
||||||
fn test_invalid_opml_version_1_0() {
|
fn test_invalid_opml_version_1_0() {
|
||||||
OPML::new(
|
let sample = read("tests/samples/invalid_opml_version_1_0.opml").unwrap();
|
||||||
r#"
|
OPML::new(sample.as_str()).unwrap();
|
||||||
<opml version="1.0">
|
|
||||||
<head/>
|
|
||||||
<body>
|
|
||||||
<outline text="Outline Text"/>
|
|
||||||
</body>
|
|
||||||
</opml>"#,
|
|
||||||
)
|
|
||||||
.unwrap();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[should_panic(expected = "Unsupported OPML version detected: 1.1")]
|
#[should_panic(expected = "Unsupported OPML version detected: 1.1")]
|
||||||
fn test_invalid_opml_version_1_1() {
|
fn test_invalid_opml_version_1_1() {
|
||||||
OPML::new(
|
let sample = read("tests/samples/invalid_opml_version_1_1.opml").unwrap();
|
||||||
r#"
|
OPML::new(sample.as_str()).unwrap();
|
||||||
<opml version="1.1">
|
|
||||||
<head/>
|
|
||||||
<body>
|
|
||||||
<outline text="Outline Text"/>
|
|
||||||
</body>
|
|
||||||
</opml>"#,
|
|
||||||
)
|
|
||||||
.unwrap();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[should_panic(expected = "Unsupported OPML version detected: invalid")]
|
#[should_panic(expected = "Unsupported OPML version detected: invalid")]
|
||||||
fn test_invalid_opml_version() {
|
fn test_invalid_opml_version() {
|
||||||
OPML::new(
|
let sample = read("tests/samples/invalid_opml_version.opml").unwrap();
|
||||||
r#"
|
OPML::new(sample.as_str()).unwrap();
|
||||||
<opml version="invalid">
|
|
||||||
<head/>
|
|
||||||
<body>
|
|
||||||
<outline text="Outline Text"/>
|
|
||||||
</body>
|
|
||||||
</opml>"#,
|
|
||||||
)
|
|
||||||
.unwrap();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[should_panic(expected = "OPML body has no outlines.")]
|
#[should_panic(expected = "OPML body has no outlines.")]
|
||||||
fn test_invalid_opml_no_outlines() {
|
fn test_invalid_opml_no_outlines() {
|
||||||
OPML::new(r#"<opml version="2.0"><head/><body/></opml>"#).unwrap();
|
let sample = read("tests/samples/invalid_opml_no_outlines.opml").unwrap();
|
||||||
|
OPML::new(sample.as_str()).unwrap();
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
<opml version="2.0">
|
||||||
|
<head/>
|
||||||
|
<body/>
|
||||||
|
</opml>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<opml version="invalid">
|
||||||
|
<head/>
|
||||||
|
<body>
|
||||||
|
<outline text="Outline Text"/>
|
||||||
|
</body>
|
||||||
|
</opml>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<opml version="1.0">
|
||||||
|
<head/>
|
||||||
|
<body>
|
||||||
|
<outline text="Outline Text"/>
|
||||||
|
</body>
|
||||||
|
</opml>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<opml version="1.1">
|
||||||
|
<head/>
|
||||||
|
<body>
|
||||||
|
<outline text="Outline Text"/>
|
||||||
|
</body>
|
||||||
|
</opml>
|
|
@ -0,0 +1 @@
|
||||||
|
{not xml :)
|
|
@ -0,0 +1,6 @@
|
||||||
|
<opml version="2.0">
|
||||||
|
<head/>
|
||||||
|
<body>
|
||||||
|
<outline text="Outline Text"/>
|
||||||
|
</body>
|
||||||
|
</opml>
|
|
@ -0,0 +1,46 @@
|
||||||
|
<opml version="2.0">
|
||||||
|
<head>
|
||||||
|
<title>Title</title>
|
||||||
|
<dateCreated>Date Created</dateCreated>
|
||||||
|
<dateModified>Date Modified</dateModified>
|
||||||
|
<ownerName>Owner Name</ownerName>
|
||||||
|
<ownerEmail>Owner Email</ownerEmail>
|
||||||
|
<ownerId>Owner ID</ownerId>
|
||||||
|
<docs>http://dev.opml.org/spec2.html</docs>
|
||||||
|
<expansionState>0,1</expansionState>
|
||||||
|
<vertScrollState>0</vertScrollState>
|
||||||
|
<windowTop>1</windowTop>
|
||||||
|
<windowLeft>2</windowLeft>
|
||||||
|
<windowBottom>3</windowBottom>
|
||||||
|
<windowRight>4</windowRight>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<outline text="Outline Text"
|
||||||
|
type="Outline Type"
|
||||||
|
isBreakpoint="true"
|
||||||
|
isComment="true"
|
||||||
|
created="Outline Date"
|
||||||
|
category="Outline Category"
|
||||||
|
xmlUrl="Outline XML URL"
|
||||||
|
description="Outline Description"
|
||||||
|
htmlUrl="Outline HTML URL"
|
||||||
|
language="Outline Language"
|
||||||
|
title="Outline Title"
|
||||||
|
version="Outline Version"
|
||||||
|
url="Outline URL">
|
||||||
|
<outline text="Nested Outline Text"
|
||||||
|
type="Nested Outline Type"
|
||||||
|
isBreakpoint="true"
|
||||||
|
isComment="false"
|
||||||
|
created="Nested Outline Date"
|
||||||
|
category="Nested Outline Category"
|
||||||
|
xmlUrl="Nested Outline XML URL"
|
||||||
|
description="Nested Outline Description"
|
||||||
|
htmlUrl="Nested Outline HTML URL"
|
||||||
|
language="Nested Outline Language"
|
||||||
|
title="Nested Outline Title"
|
||||||
|
version="Nested Outline Version"
|
||||||
|
url="Nested Outline URL"/>
|
||||||
|
</outline>
|
||||||
|
</body>
|
||||||
|
</opml>
|
|
@ -1,20 +1,11 @@
|
||||||
// TODO: Extract all the OPML strings out and put them into their own files.
|
use std::fs::read_to_string as read;
|
||||||
|
|
||||||
use opml::*;
|
use opml::*;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_minimum_valid_opml() {
|
fn test_minimum_valid_opml() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
OPML::new(
|
OPML::new(&read("tests/samples/minimum_valid_opml.opml").unwrap()).unwrap(),
|
||||||
r#"
|
|
||||||
<opml version="2.0">
|
|
||||||
<head/>
|
|
||||||
<body>
|
|
||||||
<outline text="Outline Text"/>
|
|
||||||
</body>
|
|
||||||
</opml>"#
|
|
||||||
)
|
|
||||||
.unwrap(),
|
|
||||||
OPML {
|
OPML {
|
||||||
version: "2.0".to_string(),
|
version: "2.0".to_string(),
|
||||||
head: Head {
|
head: Head {
|
||||||
|
@ -57,58 +48,8 @@ fn test_minimum_valid_opml() {
|
||||||
#[test]
|
#[test]
|
||||||
fn test_valid_opml_with_everything() {
|
fn test_valid_opml_with_everything() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
OPML::new(
|
OPML::new(&read("tests/samples/valid_opml_with_everything.opml").unwrap())
|
||||||
r#"
|
.unwrap(),
|
||||||
<opml version="2.0">
|
|
||||||
<head>
|
|
||||||
<title>Title</title>
|
|
||||||
<dateCreated>Date Created</dateCreated>
|
|
||||||
<dateModified>Date Modified</dateModified>
|
|
||||||
<ownerName>Owner Name</ownerName>
|
|
||||||
<ownerEmail>Owner Email</ownerEmail>
|
|
||||||
<ownerId>Owner ID</ownerId>
|
|
||||||
<docs>http://dev.opml.org/spec2.html</docs>
|
|
||||||
<expansionState>0,1</expansionState>
|
|
||||||
<vertScrollState>0</vertScrollState>
|
|
||||||
<windowTop>1</windowTop>
|
|
||||||
<windowLeft>2</windowLeft>
|
|
||||||
<windowBottom>3</windowBottom>
|
|
||||||
<windowRight>4</windowRight>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<outline
|
|
||||||
text="Outline Text"
|
|
||||||
type="Outline Type"
|
|
||||||
isBreakpoint="true"
|
|
||||||
isComment="true"
|
|
||||||
created="Outline Date"
|
|
||||||
category="Outline Category"
|
|
||||||
xmlUrl="Outline XML URL"
|
|
||||||
description="Outline Description"
|
|
||||||
htmlUrl="Outline HTML URL"
|
|
||||||
language="Outline Language"
|
|
||||||
title="Outline Title"
|
|
||||||
version="Outline Version"
|
|
||||||
url="Outline URL">
|
|
||||||
<outline
|
|
||||||
text="Nested Outline Text"
|
|
||||||
type="Nested Outline Type"
|
|
||||||
isBreakpoint="true"
|
|
||||||
isComment="false"
|
|
||||||
created="Nested Outline Date"
|
|
||||||
category="Nested Outline Category"
|
|
||||||
xmlUrl="Nested Outline XML URL"
|
|
||||||
description="Nested Outline Description"
|
|
||||||
htmlUrl="Nested Outline HTML URL"
|
|
||||||
language="Nested Outline Language"
|
|
||||||
title="Nested Outline Title"
|
|
||||||
version="Nested Outline Version"
|
|
||||||
url="Nested Outline URL"/>
|
|
||||||
</outline>
|
|
||||||
</body>
|
|
||||||
</opml>"#
|
|
||||||
)
|
|
||||||
.unwrap(),
|
|
||||||
OPML {
|
OPML {
|
||||||
version: "2.0".to_string(),
|
version: "2.0".to_string(),
|
||||||
head: Head {
|
head: Head {
|
||||||
|
|
Loading…
Reference in New Issue