//! PAGESETUP: the plot style table and "Display plot styles" of a layout (issue #410). use cadcraft_engine::Session; use serde_json::json; #[test] fn pagesetup_sets_table_and_display_flag() { let mut s = Session::new(); let r = s.execute("pagesetup", &json!({"layout": "Layout1", "plotStyleTable": "monochrome.ctb", "displayPlotStyles": true})).unwrap(); assert_eq!(r["page"]["plotStyleTable"], "monochrome.ctb"); assert_eq!(r["page"]["showPlotStyles"], true); let page = &s.doc().unwrap().layout("Layout1").unwrap().page; assert!(page.show_plot_styles && page.plot_style_table == "monochrome.ctb"); // The report lists the built-in tables. let report = s.execute("pagesetup", &json!({})).unwrap(); let tables: Vec<&str> = report["plotStyleTables"].as_array().unwrap().iter().filter_map(|v| v.as_str()).collect(); assert!(tables.contains(&"monochrome.ctb") && tables.contains(&"grayscale.ctb"), "{tables:?}"); s.execute("pagesetup", &json!({"layout": "Layout1", "displayPlotStyles": false})).unwrap(); assert!(!s.doc().unwrap().layout("Layout1").unwrap().page.show_plot_styles); }