Use serde_json instead of json to get browser-ui-test version
This commit is contained in:
parent
a7aaef1e85
commit
9114905a93
3 changed files with 12 additions and 20 deletions
7
Cargo.lock
generated
7
Cargo.lock
generated
|
|
@ -1076,12 +1076,6 @@ dependencies = [
|
|||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "json"
|
||||
version = "0.12.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd"
|
||||
|
||||
[[package]]
|
||||
name = "kqueue"
|
||||
version = "1.0.8"
|
||||
|
|
@ -1225,7 +1219,6 @@ dependencies = [
|
|||
"handlebars",
|
||||
"hex",
|
||||
"ignore",
|
||||
"json",
|
||||
"log",
|
||||
"memchr",
|
||||
"notify",
|
||||
|
|
|
|||
|
|
@ -59,7 +59,6 @@ ammonia = { version = "4.0.0", optional = true }
|
|||
|
||||
[dev-dependencies]
|
||||
assert_cmd = "2.0.11"
|
||||
json = "0.12.4"
|
||||
predicates = "3.0.3"
|
||||
select = "0.6.0"
|
||||
semver = "1.0.17"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
use serde_json::Value;
|
||||
use std::collections::HashSet;
|
||||
use std::env::current_dir;
|
||||
use std::fs::{read_dir, read_to_string, remove_dir_all};
|
||||
|
|
@ -28,18 +29,17 @@ fn get_available_browser_ui_test_version() -> Option<String> {
|
|||
|
||||
fn expected_browser_ui_test_version() -> String {
|
||||
let content = read_to_string("package.json").expect("failed to read `package.json`");
|
||||
let json = json::parse(&content).expect("invalid JSON");
|
||||
if let json::JsonValue::Object(obj) = json {
|
||||
if let Some(json::JsonValue::Object(deps)) = obj.get("dependencies") {
|
||||
if let Some(version) = deps
|
||||
.get("browser-ui-test")
|
||||
.and_then(|version| version.as_str())
|
||||
{
|
||||
return version.trim().to_string();
|
||||
}
|
||||
}
|
||||
}
|
||||
panic!("failed to retrieved `browser-ui-test` version");
|
||||
let v: Value = serde_json::from_str(&content).expect("failed to parse `package.json`");
|
||||
let Some(dependencies) = v.get("dependencies") else {
|
||||
panic!("Missing `dependencies` key in `package.json`");
|
||||
};
|
||||
let Some(browser_ui_test) = dependencies.get("browser-ui-test") else {
|
||||
panic!("Missing `browser-ui-test` key in \"dependencies\" object in `package.json`");
|
||||
};
|
||||
let Value::String(version) = browser_ui_test else {
|
||||
panic!("`browser-ui-test` version is not a string");
|
||||
};
|
||||
version.trim().to_string()
|
||||
}
|
||||
|
||||
fn main() {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue