mirror of
https://github.com/denoland/deno.git
synced 2024-11-22 15:06:54 -05:00
refactor(cli): Remove unnecessary conversion into BTreeMap (#8498)
This commit removes unnecessary conversion into BTreeMap. The value that gets converted into BTreeMap is _originally_ BTreeMap, so this conversion is just superfluous. Additionally, a test is added so that we can make sure the keys in the emitted lockfile are sorted alphabetically.
This commit is contained in:
parent
a1a806ae0c
commit
60e980c781
1 changed files with 25 additions and 6 deletions
|
@ -34,9 +34,7 @@ impl Lockfile {
|
||||||
if !self.write {
|
if !self.write {
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
// Will perform sort so output is deterministic
|
let j = json!(&self.map);
|
||||||
let map: BTreeMap<_, _> = self.map.iter().collect();
|
|
||||||
let j = json!(map);
|
|
||||||
let s = serde_json::to_string_pretty(&j).unwrap();
|
let s = serde_json::to_string_pretty(&j).unwrap();
|
||||||
let mut f = std::fs::OpenOptions::new()
|
let mut f = std::fs::OpenOptions::new()
|
||||||
.write(true)
|
.write(true)
|
||||||
|
@ -192,9 +190,30 @@ mod tests {
|
||||||
.read_to_string(&mut contents)
|
.read_to_string(&mut contents)
|
||||||
.expect("Unable to read the file");
|
.expect("Unable to read the file");
|
||||||
|
|
||||||
assert!(contents.contains(
|
let contents_json =
|
||||||
"fedebba9bb82cce293196f54b21875b649e457f0eaf55556f1e318204947a28f"
|
serde_json::from_str::<serde_json::Value>(&contents).unwrap();
|
||||||
)); // sha-256 hash of the source 'Here is some source code'
|
let object = contents_json.as_object().unwrap();
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
object
|
||||||
|
.get("https://deno.land/std@0.71.0/textproto/mod.ts")
|
||||||
|
.and_then(|v| v.as_str()),
|
||||||
|
// sha-256 hash of the source 'Here is some source code'
|
||||||
|
Some("fedebba9bb82cce293196f54b21875b649e457f0eaf55556f1e318204947a28f")
|
||||||
|
);
|
||||||
|
|
||||||
|
// confirm that keys are sorted alphabetically
|
||||||
|
let mut keys = object.keys().map(|k| k.as_str());
|
||||||
|
assert_eq!(
|
||||||
|
keys.next(),
|
||||||
|
Some("https://deno.land/std@0.71.0/async/delay.ts")
|
||||||
|
);
|
||||||
|
assert_eq!(keys.next(), Some("https://deno.land/std@0.71.0/io/util.ts"));
|
||||||
|
assert_eq!(
|
||||||
|
keys.next(),
|
||||||
|
Some("https://deno.land/std@0.71.0/textproto/mod.ts")
|
||||||
|
);
|
||||||
|
assert!(keys.next().is_none());
|
||||||
|
|
||||||
teardown(temp_dir);
|
teardown(temp_dir);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue