Skip to content

Commit

Permalink
tries sorting statements to test for contradictions
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisC committed Dec 14, 2023
1 parent f8a0f4a commit 8622341
Show file tree
Hide file tree
Showing 2 changed files with 243 additions and 111 deletions.
261 changes: 176 additions & 85 deletions scripts/update-bcd.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -823,64 +823,64 @@ describe("BCD updater", () => {
});

describe("hasSupportUpdates", () => {
it("detects updates with nonexistent support statements", () => {
assert.isTrue(
hasSupportUpdates(new Map([["80", true]]), {
version_added: null,
}),
);

assert.isTrue(hasSupportUpdates(new Map([["80", true]]), undefined));
});

it("skips null support claims", () => {
assert.isFalse(
hasSupportUpdates(new Map([["80", null]]), {
version_added: "≤80",
}),
);

assert.isFalse(
hasSupportUpdates(
new Map([
["79", false],
["80", true],
["81", true],
["82", null],
]),
{
version_added: "≤80",
},
),
"skips new null test result",
);
});

it("detects updates in statements with boolean values", () => {
assert.isFalse(
hasSupportUpdates(new Map([["80", false]]), {
version_added: false,
}),
"skips generic false statements",
);

assert.isTrue(
hasSupportUpdates(new Map([["80", true]]), {
version_added: true,
}),
"catches specific support updates over generic true statements",
);

assert.isTrue(
hasSupportUpdates(
new Map([
["80", false],
["81", true],
]),
{version_added: false},
),
);
});
// it("detects updates with nonexistent support statements", () => {
// assert.isTrue(
// hasSupportUpdates(new Map([["80", true]]), {
// version_added: null,
// }),
// );

// assert.isTrue(hasSupportUpdates(new Map([["80", true]]), undefined));
// });

// it("skips null support claims", () => {
// assert.isFalse(
// hasSupportUpdates(new Map([["80", null]]), {
// version_added: "≤80",
// }),
// );

// assert.isFalse(
// hasSupportUpdates(
// new Map([
// ["79", false],
// ["80", true],
// ["81", true],
// ["82", null],
// ]),
// {
// version_added: "≤80",
// },
// ),
// "skips new null test result",
// );
// });

// it("detects updates in statements with boolean values", () => {
// assert.isFalse(
// hasSupportUpdates(new Map([["80", false]]), {
// version_added: false,
// }),
// "skips generic false statements",
// );

// assert.isTrue(
// hasSupportUpdates(new Map([["80", true]]), {
// version_added: true,
// }),
// "catches specific support updates over generic true statements",
// );

// assert.isTrue(
// hasSupportUpdates(
// new Map([
// ["80", false],
// ["81", true],
// ]),
// {version_added: false},
// ),
// );
// });

it("detects updates in statements with string values", () => {
assert.isTrue(
Expand All @@ -890,9 +890,11 @@ describe("BCD updater", () => {
["80", false],
["81", true],
]),
{
version_added: "≤80",
},
[
{
version_added: "≤80",
},
],
),
);

Expand All @@ -903,9 +905,11 @@ describe("BCD updater", () => {
["80", false],
["81", true],
]),
{
version_added: "81",
},
[
{
version_added: "81",
},
],
),
);

Expand All @@ -916,9 +920,11 @@ describe("BCD updater", () => {
["80", true],
["81", true],
]),
{
version_added: "≤80",
},
[
{
version_added: "≤80",
},
],
),
);

Expand All @@ -930,39 +936,124 @@ describe("BCD updater", () => {
["81", true],
["82", false],
]),
{
version_added: "≤80",
},
[
{
version_added: "≤80",
},
],
),
"detects possible support removal",
);

assert.isTrue(
// assert.isTrue(
// hasSupportUpdates(
// new Map([
// ["79", false],
// ["80", true],
// ["81", true],
// ]),
// [
// {
// version_added: "preview",
// },
// ],
// ),
// );
// });

// it("detects updates for preview statements", () => {
// assert.isTrue(
// hasSupportUpdates(new Map([["81", true]]), {
// version_added: "preview",
// }),
// );

// assert.isFalse(
// hasSupportUpdates(new Map([["81", false]]), {
// version_added: "preview",
// }),
// );
});

it.only("skips when no updates across multiple statements", () => {
assert.isFalse(
hasSupportUpdates(
new Map([
["79", false],
["80", true],
["81", true],
["10", true],
["29", false],
["30", true],
]),
{
version_added: "preview",
},
[
{
version_added: "30",
},
{
version_added: "10",
version_removed: "20",
},
],
),
);
});

it("detects updates for preview statements", () => {
it("detects updates across multiple statements", () => {
assert.isTrue(
hasSupportUpdates(new Map([["81", true]]), {
version_added: "preview",
}),
hasSupportUpdates(
new Map([
["29", false],
["9", true],
["30", true],
]),
[
{
version_added: "30",
},
{
version_added: "10",
version_removed: "20",
},
],
),
"works with unsorted version maps",
);

assert.isFalse(
hasSupportUpdates(new Map([["81", false]]), {
version_added: "preview",
}),
assert.isTrue(
hasSupportUpdates(
new Map([
["9", true],
["29", false],
["30", true],
]),
[
{
version_added: "30",
},
{
version_added: "10",
version_removed: "20",
},
],
),
);

// assert.isTrue(
// hasSupportUpdates(
// new Map([
// ["10", true],
// ["29", true],
// ["30", true],
// ]),
// [
// {
// version_added: "30",
// },
// {
// version_added: "10",
// version_removed: "20",
// },
// ],
// ),
// );
});
});

Expand Down
Loading

0 comments on commit 8622341

Please sign in to comment.