Initial Dever 0.0.1
This commit is contained in:
commit
81233d098c
1479 files changed
+163782
No files matched your search
@@ -0,0 +1,66 @@
|
||||
use super::{Fixture, app, command};
|
||||
|
||||
#[test]
|
||||
fn locked_documentation_uses_verified_assets_and_retains_source_links() {
|
||||
let mut fixture = Fixture::new(&["numbers@1.0.0"]);
|
||||
fixture.package(
|
||||
"numbers",
|
||||
&[],
|
||||
&[
|
||||
("module/numbers/value/app.dever", &app("input + 1")),
|
||||
("module/numbers/value/api.dever", &command()),
|
||||
(
|
||||
"module/numbers/value/doc/value.md",
|
||||
"# 值\n\n## numbers.value.value\n\n返回输入加一。\n",
|
||||
),
|
||||
],
|
||||
);
|
||||
let mut reads = 0;
|
||||
let project = dever::compiler::project::Project::load_with_artifacts(
|
||||
&fixture.directory.0,
|
||||
|sha256, _| {
|
||||
reads += 1;
|
||||
fixture
|
||||
.assets
|
||||
.get(sha256)
|
||||
.cloned()
|
||||
.ok_or_else(|| "missing test asset".into())
|
||||
},
|
||||
)
|
||||
.unwrap();
|
||||
assert_eq!(reads, 1);
|
||||
fixture.assets.clear();
|
||||
let mut index = project.inspect().unwrap();
|
||||
assert_eq!(reads, 1);
|
||||
assert!(
|
||||
index.documentation_errors.is_empty(),
|
||||
"{:?}",
|
||||
index.documentation_errors
|
||||
);
|
||||
index.select("numbers.value.value", 1).unwrap();
|
||||
let description = index
|
||||
.documentation
|
||||
.iter()
|
||||
.find(|value| value.symbol == "numbers.value.value")
|
||||
.unwrap();
|
||||
assert_eq!(description.markdown, "返回输入加一。");
|
||||
assert_eq!(index.documentation_files.len(), 1);
|
||||
let file = &index.documentation_files[description.file];
|
||||
assert!(
|
||||
file.path
|
||||
.ends_with("package/module/numbers/value/doc/value.md")
|
||||
);
|
||||
assert!(
|
||||
file.text
|
||||
.as_ref()
|
||||
.unwrap()
|
||||
.contains("## numbers.value.value")
|
||||
);
|
||||
let symbol = index
|
||||
.symbols
|
||||
.iter()
|
||||
.find(|value| value.name == "numbers.value.value")
|
||||
.unwrap();
|
||||
let source = &index.files[symbol.declarations[0].file];
|
||||
assert!(source.text.as_ref().unwrap().contains("input + 1"));
|
||||
}
|
||||
Reference in new issue
Block a user