Skip to content

Commit

Permalink
Merge pull request #102 from mfontanini/deny-unknown-yaml-fields
Browse files Browse the repository at this point in the history
Deny unknown fields in yaml models
  • Loading branch information
mfontanini authored Dec 22, 2023
2 parents 6a83995 + b5d38b1 commit 2f1c2ac
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1597,4 +1597,11 @@ mod test {
assert_eq!(&line.prefix, &format!("{line_number} "));
}
}

#[test]
fn extra_fields_in_metadata() {
let element = MarkdownElement::FrontMatter("nope: 42".into());
let result = try_build_presentation(vec![element]);
assert!(result.is_err());
}
}
1 change: 1 addition & 0 deletions src/custom.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ use serde::Deserialize;
use std::{fs, io, path::Path};

#[derive(Clone, Debug, Default, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct Config {
#[serde(default)]
pub defaults: DefaultsConfig,
Expand Down
1 change: 1 addition & 0 deletions src/presentation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,7 @@ pub(crate) trait ChunkMutator: Debug {

/// The metadata for a presentation.
#[derive(Clone, Debug, Deserialize)]
#[serde(deny_unknown_fields)]
pub(crate) struct PresentationMetadata {
/// The presentation title.
pub(crate) title: Option<String>,
Expand Down
1 change: 1 addition & 0 deletions src/theme.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ impl PresentationThemeSet {

/// A presentation theme.
#[derive(Default, Clone, Debug, Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub struct PresentationTheme {
/// The style for a slide's title.
#[serde(default)]
Expand Down

0 comments on commit 2f1c2ac

Please sign in to comment.