+ #[test]
+ fn test_empty_string_license_template_path() {
+ let toml = r#"license_template_path = """#;
+ let config = Config::from_toml(toml, Path::new("")).unwrap();
+ assert!(config.license_template.is_none());
+ }
+
+ #[test]
+ fn test_valid_license_template_path() {
+ if !crate::is_nightly_channel!() {
+ return;
+ }
+ let toml = r#"license_template_path = "tests/license-template/lt.txt""#;
+ let config = Config::from_toml(toml, Path::new("")).unwrap();
+ assert!(config.license_template.is_some());
+ }
+
+ #[test]
+ fn test_override_existing_license_with_no_license() {
+ if !crate::is_nightly_channel!() {
+ return;
+ }
+ let toml = r#"license_template_path = "tests/license-template/lt.txt""#;
+ let mut config = Config::from_toml(toml, Path::new("")).unwrap();
+ assert!(config.license_template.is_some());
+ config.override_value("license_template_path", "");
+ assert!(config.license_template.is_none());
+ }
+
+ #[test]
+ fn test_dump_default_config() {
+ let default_config = format!(
+ r#"max_width = 100
+hard_tabs = false
+tab_spaces = 4
+newline_style = "Auto"
+use_small_heuristics = "Default"
+indent_style = "Block"
+wrap_comments = false
+format_code_in_doc_comments = false
+comment_width = 80
+normalize_comments = false
+normalize_doc_attributes = false
+license_template_path = ""
+format_strings = false
+format_macro_matchers = false
+format_macro_bodies = true
+empty_item_single_line = true
+struct_lit_single_line = true
+fn_single_line = false
+where_single_line = false
+imports_indent = "Block"
+imports_layout = "Mixed"
+imports_granularity = "Preserve"
+group_imports = "Preserve"
+reorder_imports = true
+reorder_modules = true
+reorder_impl_items = false
+type_punctuation_density = "Wide"
+space_before_colon = false
+space_after_colon = true
+spaces_around_ranges = false
+binop_separator = "Front"
+remove_nested_parens = true
+combine_control_expr = true
+overflow_delimited_expr = false
+struct_field_align_threshold = 0
+enum_discrim_align_threshold = 0
+match_arm_blocks = true
+match_arm_leading_pipes = "Never"
+force_multiline_blocks = false
+fn_args_layout = "Tall"
+brace_style = "SameLineWhere"
+control_brace_style = "AlwaysSameLine"
+trailing_semicolon = true
+trailing_comma = "Vertical"
+match_block_trailing_comma = false
+blank_lines_upper_bound = 1
+blank_lines_lower_bound = 0
+edition = "2015"
+version = "One"
+inline_attribute_width = 0
+merge_derives = true
+use_try_shorthand = false
+use_field_init_shorthand = false
+force_explicit_abi = true
+condense_wildcard_suffixes = false
+color = "Auto"
+required_version = "{}"
+unstable_features = false
+disable_all_formatting = false
+skip_children = false
+hide_parse_errors = false
+error_on_line_overflow = false
+error_on_unformatted = false
+report_todo = "Never"
+report_fixme = "Never"
+ignore = []
+emit_mode = "Files"
+make_backup = false
+"#,
+ env!("CARGO_PKG_VERSION")
+ );
+ let toml = Config::default().all_options().to_toml().unwrap();
+ assert_eq!(&toml, &default_config);
+ }
+