0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-06 11:18:57 -05:00

schema file test update

This commit is contained in:
Bartek Iwańczuk 2025-01-31 17:49:14 +01:00
parent 09fbea108b
commit 142bac0da7
No known key found for this signature in database
GPG key ID: 0C6BCDDC3B3AD750

View file

@ -666,13 +666,24 @@ mod tests {
use super::*; use super::*;
#[derive(Serialize, Deserialize)]
struct RulesPattern {
r#type: String,
pattern: String,
}
#[derive(Serialize, Deserialize)]
struct RulesEnum {
r#enum: Vec<String>,
}
#[derive(Serialize, Deserialize)] #[derive(Serialize, Deserialize)]
struct RulesSchema { struct RulesSchema {
#[serde(rename = "$schema")] #[serde(rename = "$schema")]
schema: String, schema: String,
#[serde(rename = "enum")] #[serde(rename = "oneOf")]
rules: Vec<String>, one_of: (RulesPattern, RulesEnum),
} }
fn get_all_rules() -> Vec<String> { fn get_all_rules() -> Vec<String> {
@ -703,25 +714,25 @@ mod tests {
const UPDATE_ENV_VAR_NAME: &str = "UPDATE_EXPECTED"; const UPDATE_ENV_VAR_NAME: &str = "UPDATE_EXPECTED";
let rules_list = schema.one_of.1.r#enum;
if std::env::var(UPDATE_ENV_VAR_NAME).ok().is_none() { if std::env::var(UPDATE_ENV_VAR_NAME).ok().is_none() {
assert_eq!( assert_eq!(
schema.rules, all_rules, rules_list, all_rules,
"Lint rules schema file not up to date. Run again with {}=1 to update the expected output", "Lint rules schema file not up to date. Run again with {}=1 to update the expected output",
UPDATE_ENV_VAR_NAME UPDATE_ENV_VAR_NAME
); );
return; return;
} }
let new_schema = RulesSchema {
schema: schema.schema,
one_of: (schema.one_of.0, RulesEnum { r#enum: all_rules }),
};
std::fs::write( std::fs::write(
&rules_schema_path, &rules_schema_path,
format!( format!("{}\n", serde_json::to_string_pretty(&new_schema).unwrap(),),
"{}\n",
serde_json::to_string_pretty(&RulesSchema {
schema: schema.schema,
rules: all_rules,
})
.unwrap(),
),
) )
.unwrap(); .unwrap();
} }