Skip to content

Commit dd6d871

Browse files
committed
do less copying for test struct
1 parent 7d3828b commit dd6d871

File tree

2 files changed

+11
-24
lines changed

2 files changed

+11
-24
lines changed

src/test/fakes.rs

+9-22
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,23 @@ use crate::utils::{Dependency, MetadataPackage, Target};
55
use failure::Error;
66

77
#[must_use = "FakeRelease does nothing until you call .create()"]
8-
pub(crate) struct FakeRelease<'db> {
9-
db: &'db TestDatabase,
8+
pub(crate) struct FakeRelease<'a> {
9+
db: &'a TestDatabase,
1010
package: MetadataPackage,
1111
build_result: BuildResult,
1212
/// name, content
13-
source_files: Vec<(String, Vec<u8>)>,
13+
source_files: Vec<(&'a str, &'a [u8])>,
1414
/// name, content
15-
rustdoc_files: Vec<(String, Vec<u8>)>,
15+
rustdoc_files: Vec<(&'a str, &'a [u8])>,
1616
doc_targets: Vec<String>,
1717
default_target: Option<String>,
1818
cratesio_data: CratesIoData,
1919
has_docs: bool,
2020
has_examples: bool,
2121
}
2222

23-
impl<'db> FakeRelease<'db> {
24-
pub(super) fn new(db: &'db TestDatabase) -> Self {
23+
impl<'a> FakeRelease<'a> {
24+
pub(super) fn new(db: &'a TestDatabase) -> Self {
2525
FakeRelease {
2626
db,
2727
package: MetadataPackage {
@@ -85,28 +85,15 @@ impl<'db> FakeRelease<'db> {
8585
self
8686
}
8787

88-
pub(crate) fn file<M, P, D>(mut self, mimetype: M, path: P, data: D) -> Self
89-
where M: Into<String>,
90-
P: Into<String>,
91-
D: Into<Vec<u8>>,
92-
{
93-
let (mimetype, path, data) = (mimetype.into(), path.into(), data.into());
94-
self.files.push((mimetype, path, data));
95-
self
96-
}
97-
98-
pub(crate) fn rustdoc_file<P, D>(mut self, path: P, data: D) -> Self
99-
where P: Into<String>,
100-
D: Into<Vec<u8>>,
101-
{
102-
self.rustdoc_files.push((path.into(), data.into()));
88+
pub(crate) fn rustdoc_file(mut self, path: &'a str, data: &'a [u8]) -> Self {
89+
self.rustdoc_files.push((path, data));
10390
self
10491
}
10592

10693
pub(crate) fn create(self) -> Result<i32, Error> {
10794
let tempdir = tempdir::TempDir::new("docs.rs-fake")?;
10895

109-
let upload_files = |prefix: &str, files: &[(String, Vec<u8>)]| {
96+
let upload_files = |prefix: &str, files: &[(&str, &[u8])]| {
11097
let path_prefix = tempdir.path().join(prefix);
11198
std::fs::create_dir(&path_prefix)?;
11299

src/web/rustdoc.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,8 @@ mod test {
425425
db.fake_release()
426426
.name("buggy").version("0.1.0")
427427
.build_result_successful(true)
428-
.rustdoc_file("settings.html", "some data")
429-
.rustdoc_file("all.html", "some data 2")
428+
.rustdoc_file("settings.html", b"some data")
429+
.rustdoc_file("all.html", b"some data 2")
430430
.create()?;
431431
db.fake_release()
432432
.name("buggy").version("0.2.0")

0 commit comments

Comments
 (0)