Skip to content
This repository has been archived by the owner on Oct 17, 2024. It is now read-only.

Commit

Permalink
tests: show issue 27
Browse files Browse the repository at this point in the history
Signed-off-by: Henry Schreiner <[email protected]>
  • Loading branch information
henryiii committed Sep 18, 2024
1 parent f5c04de commit b37eb90
Show file tree
Hide file tree
Showing 4 changed files with 110 additions and 0 deletions.
19 changes: 19 additions & 0 deletions rust/src/build_system.rs
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,25 @@ mod tests {
[[build-system.a]] # empty table within the array
[[build-system.a]]
name = "Nail"
"#},
false
)]
#[case::reorder(
indoc ! {r#"
[build-system]
requires = [
"hatchling",
]
build-backend = "hatchling.build"
"#},
indoc ! {r#"
[build-system]
build-backend = "hatchling.build"
requires = [
"hatchling",
]
"#},
false
)]
Expand Down
21 changes: 21 additions & 0 deletions rust/src/helpers/table.rs
Original file line number Diff line number Diff line change
Expand Up @@ -316,3 +316,24 @@ pub fn collapse_sub_tables(tables: &mut Tables, name: &str) {
sub.clear();
}
}

#[cfg(test)]
mod tests {
use super::*;

use taplo::parser::parse;

#[test]
fn test_reorder() {
let root_ast = parse("[A]\nb = 1\na = 1\n\n[B]\nb = 2")
.into_syntax()
.clone_for_update();
let mut tables = Tables::from_ast(&root_ast);
{
let table = &mut tables.get("A").unwrap().first().unwrap().borrow_mut();
reorder_table_keys(table, &["", "a", "b"]);
}
tables.reorder(&root_ast, &["B", "A"]);
assert_eq!(root_ast.to_string(), "[B]\nb = 2\n\n[A]\na = 1\n\nb = 1\n\n");
}
}
23 changes: 23 additions & 0 deletions rust/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,29 @@ mod tests {
true,
(3, 8)
)]
#[case::space_issue_27(
indoc ! {r#"
[build-system]
requires = [
"hatchling",
]
build-backend = "hatchling.build"
[project]
"#},
indoc ! {r#"
[build-system]
build-backend = "hatchling.build"
requires = [
"hatchling",
]
[project]
"#},
2,
true,
(3, 8)
)]
fn test_format_toml(
#[case] start: &str,
#[case] expected: &str,
Expand Down
47 changes: 47 additions & 0 deletions tests/test_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,53 @@
""",
id="collapsed",
),
pytest.param(
"""
[build-system]
requires = [
"hatchling",
]
build-backend = "hatchling.build"
[project]
keywords = [
"A",
]
classifiers = [
"Programming Language :: Python :: 3 :: Only",
]
dynamic = [
"B",
]
dependencies = [
"requests>=2.0",
]
""",
"""\
[build-system]
build-backend = "hatchling.build"
requires = [
"hatchling",
]
[project]
keywords = [
"A",
]
classifiers = [
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
]
dynamic = [
"B",
]
dependencies = [
"requests>=2.0",
]
""",
id="multi",
),
],
)
def test_format_toml(start: str, expected: str) -> None:
Expand Down

0 comments on commit b37eb90

Please sign in to comment.