mirror of
https://github.com/rust-lang/cargo
synced 2024-09-13 21:11:44 +00:00
Auto merge of #10460 - Eh2406:coverage, r=alexcrichton
Improve code coverage Remove some unused and private methods, and add a test. cc: - https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/test.20coverage - https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/If.20RFC.203231.20Private.20tokens.20on.20the.20command.20line
This commit is contained in:
commit
865cd5a0c1
|
@ -264,11 +264,6 @@ impl<'src> SourceMap<'src> {
|
|||
}
|
||||
}
|
||||
|
||||
/// Like `HashMap::contains_key`.
|
||||
pub fn contains(&self, id: SourceId) -> bool {
|
||||
self.map.contains_key(&id)
|
||||
}
|
||||
|
||||
/// Like `HashMap::get`.
|
||||
pub fn get(&self, id: SourceId) -> Option<&(dyn Source + 'src)> {
|
||||
self.map.get(&id).map(|s| s.as_ref())
|
||||
|
@ -279,32 +274,17 @@ impl<'src> SourceMap<'src> {
|
|||
self.map.get_mut(&id).map(|s| s.as_mut())
|
||||
}
|
||||
|
||||
/// Like `HashMap::get`, but first calculates the `SourceId` from a `PackageId`.
|
||||
pub fn get_by_package_id(&self, pkg_id: PackageId) -> Option<&(dyn Source + 'src)> {
|
||||
self.get(pkg_id.source_id())
|
||||
}
|
||||
|
||||
/// Like `HashMap::insert`, but derives the `SourceId` key from the `Source`.
|
||||
pub fn insert(&mut self, source: Box<dyn Source + 'src>) {
|
||||
let id = source.source_id();
|
||||
self.map.insert(id, source);
|
||||
}
|
||||
|
||||
/// Like `HashMap::is_empty`.
|
||||
pub fn is_empty(&self) -> bool {
|
||||
self.map.is_empty()
|
||||
}
|
||||
|
||||
/// Like `HashMap::len`.
|
||||
pub fn len(&self) -> usize {
|
||||
self.map.len()
|
||||
}
|
||||
|
||||
/// Like `HashMap::values`.
|
||||
pub fn sources<'a>(&'a self) -> impl Iterator<Item = &'a Box<dyn Source + 'src>> {
|
||||
self.map.values()
|
||||
}
|
||||
|
||||
/// Like `HashMap::iter_mut`.
|
||||
pub fn sources_mut<'a>(
|
||||
&'a mut self,
|
||||
|
|
|
@ -8,7 +8,9 @@ use cargo_test_support::{cargo_process, registry::registry_url};
|
|||
use cargo_test_support::{git, install::cargo_home, t};
|
||||
use cargo_util::paths::remove_dir_all;
|
||||
use std::fs::{self, File};
|
||||
use std::io::{BufRead, BufReader, Write};
|
||||
use std::path::Path;
|
||||
use std::process::Stdio;
|
||||
|
||||
#[cargo_test]
|
||||
fn simple() {
|
||||
|
@ -883,6 +885,36 @@ fn login_with_differently_sized_token() {
|
|||
assert_eq!(credentials, "[registry]\ntoken = \"lmaolmaolmao\"\n");
|
||||
}
|
||||
|
||||
#[cargo_test]
|
||||
fn login_with_token_on_stdin() {
|
||||
registry::init();
|
||||
let credentials = paths::home().join(".cargo/credentials");
|
||||
fs::remove_file(&credentials).unwrap();
|
||||
cargo_process("login lmao -v").run();
|
||||
let mut cargo = cargo_process("login").build_command();
|
||||
cargo
|
||||
.stdin(Stdio::piped())
|
||||
.stdout(Stdio::piped())
|
||||
.stderr(Stdio::piped());
|
||||
let mut child = cargo.spawn().unwrap();
|
||||
let out = BufReader::new(child.stdout.as_mut().unwrap())
|
||||
.lines()
|
||||
.next()
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
assert!(out.starts_with("please paste the API Token found on "));
|
||||
assert!(out.ends_with("/me below"));
|
||||
child
|
||||
.stdin
|
||||
.as_ref()
|
||||
.unwrap()
|
||||
.write_all(b"some token\n")
|
||||
.unwrap();
|
||||
child.wait().unwrap();
|
||||
let credentials = fs::read_to_string(&credentials).unwrap();
|
||||
assert_eq!(credentials, "[registry]\ntoken = \"some token\"\n");
|
||||
}
|
||||
|
||||
#[cargo_test]
|
||||
fn bad_license_file() {
|
||||
Package::new("foo", "1.0.0").publish();
|
||||
|
|
Loading…
Reference in a new issue