Skip to content

Commit 142de81

Browse files
committed
Add roundtrip test case, use simple HashMap
1 parent 11c222c commit 142de81

4 files changed

Lines changed: 20 additions & 2 deletions

File tree

crates/ruff_notebook/resources/test/fixtures/jupyter/vscode_language_id.ipynb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@
1313
"cell_type": "code",
1414
"execution_count": null,
1515
"metadata": {
16+
"collapsed": true,
17+
"jupyter": {
18+
"outputs_hidden": true,
19+
"source_hidden": true
20+
},
1621
"vscode": {
1722
"languageId": "javascript"
1823
}

crates/ruff_notebook/resources/test/fixtures/jupyter/vscode_language_id_expected.ipynb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@
1313
"cell_type": "code",
1414
"execution_count": null,
1515
"metadata": {
16+
"collapsed": true,
17+
"jupyter": {
18+
"outputs_hidden": true,
19+
"source_hidden": true
20+
},
1621
"vscode": {
1722
"languageId": "javascript"
1823
}

crates/ruff_notebook/src/notebook.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -596,4 +596,12 @@ print("after empty cells")
596596
);
597597
Ok(())
598598
}
599+
600+
#[test]
601+
fn round_trip() {
602+
let path = notebook_path("vscode_language_id.ipynb");
603+
let expected = std::fs::read_to_string(&path).unwrap();
604+
let actual = super::round_trip(&path).unwrap();
605+
assert_eq!(actual, expected);
606+
}
599607
}

crates/ruff_notebook/src/schema.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
//! a code cell or not without looking at the `cell_type` property, which
1919
//! would require a custom serializer.
2020
21-
use std::collections::BTreeMap;
21+
use std::collections::{BTreeMap, HashMap};
2222

2323
use serde::{Deserialize, Serialize};
2424
use serde_json::Value;
@@ -171,7 +171,7 @@ pub struct CellMetadata {
171171
pub vscode: Option<CodeCellMetadataVSCode>,
172172
/// Catch-all for metadata that isn't required by Ruff.
173173
#[serde(flatten)]
174-
pub extra: BTreeMap<String, Value>,
174+
pub extra: HashMap<String, Value>,
175175
}
176176

177177
/// VS Code specific cell metadata.

0 commit comments

Comments
 (0)