Skip to content
This repository was archived by the owner on Oct 23, 2025. It is now read-only.

Commit 275f628

Browse files
committed
Fix writing JSON spans as separate documents
1 parent 7a08507 commit 275f628

File tree

4 files changed

+11
-7
lines changed

4 files changed

+11
-7
lines changed

output_derive/tests/structs.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ fn struct_with_named_fields_of_primitive_types() -> Result<(), output::Error> {
3535

3636
assert_eq!(
3737
json.to_string(),
38-
"{\"code\":42,\"name\":\"info\",\"message\":\"Derive works\"}\n\n"
38+
"{\"code\":42,\"name\":\"info\",\"message\":\"Derive works\"}\n"
3939
);
4040

4141
Ok(())
@@ -57,7 +57,7 @@ fn tuple_struct_of_primitive_types() -> Result<(), output::Error> {
5757

5858
assert_eq!(human.to_string(), "(42, Derive works)\n");
5959

60-
assert_eq!(json.to_string(), "[42,\"Derive works\"]\n\n");
60+
assert_eq!(json.to_string(), "[42,\"Derive works\"]\n");
6161

6262
Ok(())
6363
}

src/components/span.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,12 @@ impl Render for Span {
112112
}
113113

114114
fn render_json(&self, fmt: &mut json::Formatter) -> Result<(), Error> {
115-
for item in &self.items {
116-
item.render_json(fmt)?;
115+
let len = self.items.len();
116+
for i in 0..len {
117+
self.items[i].render_json(fmt)?;
118+
if i < len - 1 {
119+
fmt.write_separator()?;
120+
}
117121
}
118122
Ok(())
119123
}
@@ -138,7 +142,7 @@ mod test {
138142

139143
let json = json::test();
140144
item.render_json(&mut json.formatter())?;
141-
assert_eq!(json.to_string(), "\"one\"\n\"two\"\n\"three\"\n");
145+
assert_eq!(json.to_string(), "\"one\"\n\"two\"\n\"three\"");
142146
Ok(())
143147
}
144148

src/components/text.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ mod test {
4343

4444
let json = json::test();
4545
item.render_json(&mut json.formatter()).unwrap();
46-
prop_assert_eq!(json.to_string(), json!(s).to_string() + "\n");
46+
prop_assert_eq!(json.to_string(), json!(s).to_string());
4747
}
4848
}
4949
}

src/json.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ mod test_helper {
242242
///
243243
/// assert_eq!(
244244
/// test_target.to_string(),
245-
/// "{\"author\":\"Pascal\",\"body\":\"Lorem ipsum dolor\"}\n\n",
245+
/// "{\"author\":\"Pascal\",\"body\":\"Lorem ipsum dolor\"}\n",
246246
/// );
247247
/// Ok(())
248248
/// }

0 commit comments

Comments
 (0)