diff --git a/src/components/conformance/ResultsDisplay/components/SuiteDataContainer/cards/TestGrid/index.tsx b/src/components/conformance/ResultsDisplay/components/SuiteDataContainer/cards/TestGrid/index.tsx index 58650b53..3a128468 100644 --- a/src/components/conformance/ResultsDisplay/components/SuiteDataContainer/cards/TestGrid/index.tsx +++ b/src/components/conformance/ResultsDisplay/components/SuiteDataContainer/cards/TestGrid/index.tsx @@ -1,6 +1,5 @@ import React from "react"; import { - SpecEdition, TestOutcome, TestResult, SuiteResult, @@ -64,12 +63,25 @@ function applyFilter(filter: FilterOption, outcome: TestOutcome): boolean { } } +function esFlagToEdition(esFlag: string): number { + if (!esFlag.startsWith("es")) { + throw RangeError("invalid esFlag"); + } + + const parsedEsFlag = Number(esFlag.substring(2)); + if (!Number.isInteger(parsedEsFlag)) { + throw RangeError("esFlag is not an integer"); + } + + return parsedEsFlag; +} + function Grid(props: GridProps): React.ReactNode { return ( <> {props.esFlag ? props.tests - .filter((test) => test.edition <= SpecEdition[props.esFlag]) + .filter((test) => test.edition <= esFlagToEdition(props.esFlag)) .filter((test) => applyFilter(props.filterOption, test.result)) .map((test) => { return ( diff --git a/src/components/conformance/ResultsDisplay/components/SuiteSelector/index.tsx b/src/components/conformance/ResultsDisplay/components/SuiteSelector/index.tsx index 46d03ba7..fb0af7c9 100644 --- a/src/components/conformance/ResultsDisplay/components/SuiteSelector/index.tsx +++ b/src/components/conformance/ResultsDisplay/components/SuiteSelector/index.tsx @@ -88,17 +88,17 @@ function SuiteStatistics({ setFilter(filterOption); }, [filterOption]); - let passed = + const passed = filter == FilterOption.None || filter == FilterOption.Passed ? testResults.passed : 0; - let ignored = + const ignored = filter == FilterOption.None || filter == FilterOption.Ignored ? testResults.ignored : 0; - let failed = + const failed = filter == FilterOption.None || filter == FilterOption.Failed ? `${testResults.total - testResults.passed - testResults.ignored} (${testResults.panic}\u26A0)` : 0; diff --git a/src/components/conformance/ResultsDisplay/index.tsx b/src/components/conformance/ResultsDisplay/index.tsx index d90d773f..452bbc29 100644 --- a/src/components/conformance/ResultsDisplay/index.tsx +++ b/src/components/conformance/ResultsDisplay/index.tsx @@ -13,7 +13,7 @@ import { createSearchParams, mapToResultInfo, } from "@site/src/components/conformance/utils"; -import { useHistory, useLocation } from "@docusaurus/router"; +import { useHistory } from "@docusaurus/router"; import styles from "./styles.module.css"; @@ -211,6 +211,7 @@ export default function ResultsDisplay(props: ResultsProps): React.ReactNode {