relay-knowledge 1.1.17

Graph-database-based knowledge graph project.
Documentation
use super::{
    clean_scalar, design_heading_kind, first_call_arg, json_string_pair, markdown_heading,
    terraform_block, toml_section, yaml_value,
};

#[test]
fn scalar_and_pair_parsers_normalize_manifest_values() {
    assert_eq!(clean_scalar(" ('relay'), "), "relay");
    assert_eq!(toml_section("[[bin]]"), Some("bin"));
    assert_eq!(
        json_string_pair(r#"  "build": "cargo build","#),
        Some(("build".to_owned(), "cargo build".to_owned()))
    );
    assert_eq!(
        yaml_value("image: \"relay:latest\"", "image"),
        Some("relay:latest".to_owned())
    );
}

#[test]
fn call_and_terraform_parsers_keep_the_first_declared_target() {
    assert_eq!(
        first_call_arg("add_executable(relay src/main.c)", "add_executable"),
        Some("relay".to_owned())
    );
    assert_eq!(
        terraform_block(r#"resource "aws_s3_bucket" "artifacts" {"#, "resource "),
        Some(("aws_s3_bucket".to_owned(), "artifacts".to_owned()))
    );
}

#[test]
fn markdown_headings_map_only_known_design_concepts() {
    assert_eq!(
        markdown_heading("## Runtime Architecture"),
        Some("Runtime Architecture".to_owned())
    );
    assert_eq!(
        design_heading_kind("Runtime Architecture", "docs/runtime.md"),
        Some("architecture")
    );
    assert_eq!(design_heading_kind("Getting Started", "README.md"), None);
    assert_eq!(design_heading_kind("Chapter Index", "README.md"), None);
    assert_eq!(
        design_heading_kind("Getting Started", "docs/guide.md"),
        None
    );
}