From 746dc9c534b33b53bb99aa6d7054e3052b1dfc0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Mon, 6 May 2024 17:23:48 -0700 Subject: [PATCH] Fix realign of comment makes debug assert fail MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Bernát Gábor --- crates/taplo/src/formatter/mod.rs | 2 +- crates/taplo/src/tests/formatter.rs | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/crates/taplo/src/formatter/mod.rs b/crates/taplo/src/formatter/mod.rs index 7fa8eb356..091b9e5b7 100644 --- a/crates/taplo/src/formatter/mod.rs +++ b/crates/taplo/src/formatter/mod.rs @@ -681,7 +681,7 @@ fn add_entries( entry.value.clear(); if let Some(c) = value.trailing_comment() { - debug_assert!(entry.comment.is_none()); + debug_assert!(entry.comment.is_none() || entry.comment.clone().unwrap() == c); entry.comment = Some(c); } diff --git a/crates/taplo/src/tests/formatter.rs b/crates/taplo/src/tests/formatter.rs index f015e715f..1d7efb902 100644 --- a/crates/taplo/src/tests/formatter.rs +++ b/crates/taplo/src/tests/formatter.rs @@ -1,6 +1,7 @@ use difference::Changeset; use crate::formatter; +use crate::formatter::Options; macro_rules! assert_format { ($expected:expr, $actual:expr) => { @@ -1164,3 +1165,21 @@ my_array = [ assert_format!(expected, &formatted); } + +#[test] +fn test_comment_after_entry() { + let src = r#" +a = "b" # comment +"#; + + let expected = r#" +a = "b" # comment +"#; + let opt = Options { + column_width: 1, + ..Default::default() + }; + let formatted = crate::formatter::format(src, opt); + + assert_format!(expected, &formatted); +}