diff --git a/package-lock.json b/package-lock.json index d18bb7a15..885a8644f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,6 +57,7 @@ "@deephaven/prettier-config": "file:../prettier-config", "@deephaven/redux": "file:../redux", "@deephaven/stylelint-config": "file:../stylelint-config", + "@deephaven/test-utils": "file:../test-utils", "@deephaven/tsconfig": "file:../tsconfig", "@deephaven/utils": "file:../utils", "@fortawesome/fontawesome-common-types": "^6.1.1", @@ -29557,6 +29558,7 @@ }, "devDependencies": { "@deephaven/mocks": "file:../mocks", + "@deephaven/test-utils": "file:../test-utils", "react-redux": "^7.2.4" }, "engines": { @@ -30259,6 +30261,7 @@ "devDependencies": { "@deephaven/jsapi-shim": "file:../jsapi-shim", "@deephaven/mocks": "file:../mocks", + "@deephaven/test-utils": "file:../test-utils", "deep-equal": "2.2.3" }, "engines": { @@ -30310,6 +30313,7 @@ }, "devDependencies": { "@deephaven/jsapi-shim": "file:../jsapi-shim", + "@deephaven/test-utils": "file:../test-utils", "react-test-renderer": "^17.0.2" }, "engines": { @@ -30353,7 +30357,8 @@ "nanoid": "^5.0.7" }, "devDependencies": { - "@deephaven/jsapi-shim": "file:../jsapi-shim" + "@deephaven/jsapi-shim": "file:../jsapi-shim", + "@deephaven/test-utils": "file:../test-utils" }, "engines": { "node": ">=16" @@ -30470,6 +30475,9 @@ "lodash.throttle": "^4.1.1", "nanoid": "^5.0.7" }, + "devDependencies": { + "@deephaven/test-utils": "file:../test-utils" + }, "engines": { "node": ">=16" }, @@ -30526,6 +30534,7 @@ } }, "packages/test-utils": { + "name": "@deephaven/test-utils", "version": "0.93.0", "license": "Apache-2.0", "engines": { @@ -30542,6 +30551,9 @@ "name": "@deephaven/utils", "version": "0.93.0", "license": "Apache-2.0", + "devDependencies": { + "@deephaven/test-utils": "file:../test-utils" + }, "engines": { "node": ">=16" } @@ -31981,6 +31993,7 @@ "@deephaven/log": "file:../log", "@deephaven/mocks": "file:../mocks", "@deephaven/react-hooks": "file:../react-hooks", + "@deephaven/test-utils": "file:../test-utils", "@deephaven/utils": "file:../utils", "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/react-fontawesome": "^0.2.0", @@ -32490,6 +32503,7 @@ "@deephaven/mocks": "file:../mocks", "@deephaven/react-hooks": "file:../react-hooks", "@deephaven/storage": "file:../storage", + "@deephaven/test-utils": "file:../test-utils", "@deephaven/utils": "file:../utils", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^7.0.2", @@ -32531,6 +32545,7 @@ "@deephaven/jsapi-utils": "file:../jsapi-utils", "@deephaven/log": "file:../log", "@deephaven/react-hooks": "file:../react-hooks", + "@deephaven/test-utils": "file:../test-utils", "@deephaven/utils": "file:../utils", "@types/js-cookie": "^3.0.3", "classnames": "^2.3.2", @@ -32559,6 +32574,7 @@ "@deephaven/jsapi-shim": "file:../jsapi-shim", "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", "@deephaven/log": "file:../log", + "@deephaven/test-utils": "file:../test-utils", "@deephaven/utils": "file:../utils", "lodash.clamp": "^4.0.3", "nanoid": "^5.0.7" @@ -32611,6 +32627,7 @@ "requires": { "@adobe/react-spectrum": "3.35.1", "@deephaven/log": "file:../log", + "@deephaven/test-utils": "file:../test-utils", "@deephaven/utils": "file:../utils", "lodash.debounce": "^4.0.8", "lodash.throttle": "^4.1.1", @@ -32651,7 +32668,10 @@ "version": "file:packages/tsconfig" }, "@deephaven/utils": { - "version": "file:packages/utils" + "version": "file:packages/utils", + "requires": { + "@deephaven/test-utils": "file:../test-utils" + } }, "@dnd-kit/accessibility": { "version": "3.1.0", diff --git a/packages/components/package.json b/packages/components/package.json index 00639a150..23668d915 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -59,6 +59,7 @@ }, "devDependencies": { "@deephaven/mocks": "file:../mocks", + "@deephaven/test-utils": "file:../test-utils", "react-redux": "^7.2.4" }, "files": [ diff --git a/packages/components/src/ItemList.test.tsx b/packages/components/src/ItemList.test.tsx index 64ffae022..a520f9d77 100644 --- a/packages/components/src/ItemList.test.tsx +++ b/packages/components/src/ItemList.test.tsx @@ -1,5 +1,6 @@ import React from 'react'; -import { Range, TestUtils, ClickOptions } from '@deephaven/utils'; +import { Range } from '@deephaven/utils'; +import { ClickOptions, TestUtils } from '@deephaven/test-utils'; import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import ItemList from './ItemList'; diff --git a/packages/components/src/theme/ThemeProvider.test.tsx b/packages/components/src/theme/ThemeProvider.test.tsx index fdc4438d9..87e3fef5a 100644 --- a/packages/components/src/theme/ThemeProvider.test.tsx +++ b/packages/components/src/theme/ThemeProvider.test.tsx @@ -1,6 +1,7 @@ import React from 'react'; import { act, render } from '@testing-library/react'; -import { assertNotNull, TestUtils } from '@deephaven/utils'; +import { assertNotNull } from '@deephaven/utils'; +import { TestUtils } from '@deephaven/test-utils'; import { ThemeContextValue, ThemeProvider } from './ThemeProvider'; import { DEFAULT_LIGHT_THEME_KEY, ThemeData } from './ThemeModel'; import { diff --git a/packages/components/src/theme/ThemeUtils.test.ts b/packages/components/src/theme/ThemeUtils.test.ts index 42b17c2dc..281e9b015 100644 --- a/packages/components/src/theme/ThemeUtils.test.ts +++ b/packages/components/src/theme/ThemeUtils.test.ts @@ -1,7 +1,8 @@ import fs from 'fs'; import path from 'path'; -import { ColorUtils, TestUtils } from '@deephaven/utils'; +import { ColorUtils } from '@deephaven/utils'; +import { TestUtils } from '@deephaven/test-utils'; import { DEFAULT_DARK_THEME_KEY, DEFAULT_PRELOAD_DATA_VARIABLES, diff --git a/packages/components/tsconfig.json b/packages/components/tsconfig.json index a3f2bd3c2..b064eccb6 100644 --- a/packages/components/tsconfig.json +++ b/packages/components/tsconfig.json @@ -9,6 +9,7 @@ "references": [ { "path": "../log" }, { "path": "../react-hooks" }, - { "path": "../utils" } + { "path": "../utils" }, + { "path": "../test-utils" } ] } diff --git a/packages/iris-grid/package.json b/packages/iris-grid/package.json index 7b7becd11..9cfdc3c12 100644 --- a/packages/iris-grid/package.json +++ b/packages/iris-grid/package.json @@ -67,6 +67,7 @@ "devDependencies": { "@deephaven/jsapi-shim": "file:../jsapi-shim", "@deephaven/mocks": "file:../mocks", + "@deephaven/test-utils": "file:../test-utils", "deep-equal": "2.2.3" }, "files": [ diff --git a/packages/iris-grid/src/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.test.tsx b/packages/iris-grid/src/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.test.tsx index 9816585fc..711bf572a 100644 --- a/packages/iris-grid/src/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.test.tsx +++ b/packages/iris-grid/src/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.test.tsx @@ -3,7 +3,8 @@ import { fireEvent, render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { GridUtils } from '@deephaven/grid'; import type { MoveOperation } from '@deephaven/grid'; -import { assertNotNull, TestUtils } from '@deephaven/utils'; +import { assertNotNull } from '@deephaven/utils'; +import { TestUtils } from '@deephaven/test-utils'; import dh from '@deephaven/jsapi-shim'; import type { ColumnGroup } from '@deephaven/jsapi-types'; import VisibilityOrderingBuilder from './VisibilityOrderingBuilder'; diff --git a/packages/iris-grid/tsconfig.json b/packages/iris-grid/tsconfig.json index a7b42e12a..6fe769e14 100644 --- a/packages/iris-grid/tsconfig.json +++ b/packages/iris-grid/tsconfig.json @@ -17,6 +17,7 @@ { "path": "../log" }, { "path": "../react-hooks" }, { "path": "../storage" }, - { "path": "../utils" } + { "path": "../utils" }, + { "path": "../test-utils" } ] } diff --git a/packages/jsapi-components/package.json b/packages/jsapi-components/package.json index 354feafc9..bea7ec1cf 100644 --- a/packages/jsapi-components/package.json +++ b/packages/jsapi-components/package.json @@ -37,6 +37,7 @@ }, "devDependencies": { "@deephaven/jsapi-shim": "file:../jsapi-shim", + "@deephaven/test-utils": "file:../test-utils", "react-test-renderer": "^17.0.2" }, "peerDependencies": { diff --git a/packages/jsapi-components/src/useDebouncedViewportSelectionFilter.test.ts b/packages/jsapi-components/src/useDebouncedViewportSelectionFilter.test.ts index 8e27c6bb6..67fed3d06 100644 --- a/packages/jsapi-components/src/useDebouncedViewportSelectionFilter.test.ts +++ b/packages/jsapi-components/src/useDebouncedViewportSelectionFilter.test.ts @@ -12,7 +12,8 @@ import { useMappedSelection, WindowedListData, } from '@deephaven/react-hooks'; -import { KeyedItem, TestUtils } from '@deephaven/utils'; +import { KeyedItem } from '@deephaven/utils'; +import { TestUtils } from '@deephaven/test-utils'; import useDebouncedViewportSelectionFilter, { DEBOUNCE_MS, } from './useDebouncedViewportSelectionFilter'; diff --git a/packages/jsapi-components/src/useFormatter.test.ts b/packages/jsapi-components/src/useFormatter.test.ts index c39a531f3..ad1329b6b 100644 --- a/packages/jsapi-components/src/useFormatter.test.ts +++ b/packages/jsapi-components/src/useFormatter.test.ts @@ -1,5 +1,6 @@ import { useApi } from '@deephaven/jsapi-bootstrap'; -import { bindAllMethods, TestUtils } from '@deephaven/utils'; +import { bindAllMethods } from '@deephaven/utils'; +import { TestUtils } from '@deephaven/test-utils'; import { createFormatterFromSettings, Formatter, diff --git a/packages/jsapi-components/src/useInitializeViewportData.test.ts b/packages/jsapi-components/src/useInitializeViewportData.test.ts index c3297b860..6ec1a3081 100644 --- a/packages/jsapi-components/src/useInitializeViewportData.test.ts +++ b/packages/jsapi-components/src/useInitializeViewportData.test.ts @@ -2,7 +2,8 @@ import { act, renderHook } from '@testing-library/react-hooks'; import type { dh } from '@deephaven/jsapi-types'; import { generateEmptyKeyedItems } from '@deephaven/jsapi-utils'; import { WindowedListData } from '@deephaven/react-hooks'; -import { ITEM_KEY_PREFIX, KeyedItem, TestUtils } from '@deephaven/utils'; +import { ITEM_KEY_PREFIX, KeyedItem } from '@deephaven/utils'; +import { TestUtils } from '@deephaven/test-utils'; import useInitializeViewportData from './useInitializeViewportData'; import useTableSize from './useTableSize'; diff --git a/packages/jsapi-components/src/usePickerWithSelectedValues.test.ts b/packages/jsapi-components/src/usePickerWithSelectedValues.test.ts index 6db84d1d5..ba0f51c3d 100644 --- a/packages/jsapi-components/src/usePickerWithSelectedValues.test.ts +++ b/packages/jsapi-components/src/usePickerWithSelectedValues.test.ts @@ -11,7 +11,8 @@ import { useDebouncedValue, type WindowedListData, } from '@deephaven/react-hooks'; -import { KeyedItem, TestUtils } from '@deephaven/utils'; +import { KeyedItem } from '@deephaven/utils'; +import { TestUtils } from '@deephaven/test-utils'; import usePickerWithSelectedValues from './usePickerWithSelectedValues'; import useViewportData, { UseViewportDataResult } from './useViewportData'; import useViewportFilter from './useViewportFilter'; diff --git a/packages/jsapi-components/tsconfig.json b/packages/jsapi-components/tsconfig.json index 6351ddd1c..e60b89090 100644 --- a/packages/jsapi-components/tsconfig.json +++ b/packages/jsapi-components/tsconfig.json @@ -11,6 +11,7 @@ { "path": "../jsapi-bootstrap" }, { "path": "../jsapi-shim" }, { "path": "../jsapi-utils" }, - { "path": "../log" } + { "path": "../log" }, + { "path": "../test-utils" } ] } diff --git a/packages/jsapi-utils/package.json b/packages/jsapi-utils/package.json index 594186a14..0315c5310 100644 --- a/packages/jsapi-utils/package.json +++ b/packages/jsapi-utils/package.json @@ -29,7 +29,8 @@ "nanoid": "^5.0.7" }, "devDependencies": { - "@deephaven/jsapi-shim": "file:../jsapi-shim" + "@deephaven/jsapi-shim": "file:../jsapi-shim", + "@deephaven/test-utils": "file:../test-utils" }, "files": [ "dist" diff --git a/packages/jsapi-utils/src/FilterUtils.test.ts b/packages/jsapi-utils/src/FilterUtils.test.ts index c997a765c..351426528 100644 --- a/packages/jsapi-utils/src/FilterUtils.test.ts +++ b/packages/jsapi-utils/src/FilterUtils.test.ts @@ -1,7 +1,8 @@ import { Key } from 'react'; import dh from '@deephaven/jsapi-shim'; import type { dh as DhType } from '@deephaven/jsapi-types'; -import { KeyedItem, TestUtils } from '@deephaven/utils'; +import { KeyedItem } from '@deephaven/utils'; +import { TestUtils } from '@deephaven/test-utils'; import { createComboboxFilterArgs, createFilterConditionFactory, diff --git a/packages/jsapi-utils/src/TableUtils.test.ts b/packages/jsapi-utils/src/TableUtils.test.ts index ed2fb19e7..91e67f6e2 100644 --- a/packages/jsapi-utils/src/TableUtils.test.ts +++ b/packages/jsapi-utils/src/TableUtils.test.ts @@ -6,7 +6,8 @@ import { Type as FilterType, TypeValue as FilterTypeValue, } from '@deephaven/filters'; -import { getAllMethodNames, TestUtils } from '@deephaven/utils'; +import { getAllMethodNames } from '@deephaven/utils'; +import { TestUtils } from '@deephaven/test-utils'; import TableUtils, { DataType, SortDirection } from './TableUtils'; import DateUtils from './DateUtils'; // eslint-disable-next-line import/no-relative-packages diff --git a/packages/jsapi-utils/tsconfig.json b/packages/jsapi-utils/tsconfig.json index cbf29e488..e6d67c0c7 100644 --- a/packages/jsapi-utils/tsconfig.json +++ b/packages/jsapi-utils/tsconfig.json @@ -10,6 +10,7 @@ { "path": "../filters" }, { "path": "../jsapi-shim" }, { "path": "../log" }, - { "path": "../utils" } + { "path": "../utils" }, + { "path": "../test-utils" } ] } diff --git a/packages/react-hooks/package.json b/packages/react-hooks/package.json index 476a98ab0..3bd485294 100644 --- a/packages/react-hooks/package.json +++ b/packages/react-hooks/package.json @@ -28,6 +28,9 @@ "lodash.throttle": "^4.1.1", "nanoid": "^5.0.7" }, + "devDependencies": { + "@deephaven/test-utils": "file:../test-utils" + }, "peerDependencies": { "react": ">=16.8.0" }, diff --git a/packages/react-hooks/src/SpectrumUtils.test.ts b/packages/react-hooks/src/SpectrumUtils.test.ts index 9fb99afe3..ef2e9353d 100644 --- a/packages/react-hooks/src/SpectrumUtils.test.ts +++ b/packages/react-hooks/src/SpectrumUtils.test.ts @@ -1,4 +1,5 @@ -import { KeyedItem, TestUtils } from '@deephaven/utils'; +import { KeyedItem } from '@deephaven/utils'; +import { TestUtils } from '@deephaven/test-utils'; import type { DOMRefValue } from '@react-types/shared'; import { createValidationProps, diff --git a/packages/react-hooks/src/useMappedSelection.test.ts b/packages/react-hooks/src/useMappedSelection.test.ts index 67c32d7b9..bbb8a9eb2 100644 --- a/packages/react-hooks/src/useMappedSelection.test.ts +++ b/packages/react-hooks/src/useMappedSelection.test.ts @@ -1,6 +1,7 @@ import { Key } from 'react'; import { renderHook } from '@testing-library/react-hooks'; -import { KeyedItem, TestUtils } from '@deephaven/utils'; +import { KeyedItem } from '@deephaven/utils'; +import { TestUtils } from '@deephaven/test-utils'; import { useMappedSelection } from './useMappedSelection'; import { WindowedListData } from './useWindowedListData'; import { mapSelection, optimizeSelection } from './SelectionUtils'; diff --git a/packages/react-hooks/tsconfig.json b/packages/react-hooks/tsconfig.json index 80c334df0..bf7461673 100644 --- a/packages/react-hooks/tsconfig.json +++ b/packages/react-hooks/tsconfig.json @@ -6,5 +6,9 @@ }, "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.js", "src/**/*.jsx"], "exclude": ["node_modules", "src/**/*.test.*", "src/**/__mocks__/*"], - "references": [{ "path": "../log" }, { "path": "../utils" }] + "references": [ + { "path": "../log" }, + { "path": "../utils" }, + { "path": "../test-utils" } + ] } diff --git a/packages/utils/package.json b/packages/utils/package.json index d902865ef..a89482726 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -27,5 +27,8 @@ "sideEffects": false, "publishConfig": { "access": "public" + }, + "devDependencies": { + "@deephaven/test-utils": "file:../test-utils" } } diff --git a/packages/utils/src/ColorUtils.test.ts b/packages/utils/src/ColorUtils.test.ts index 4242dfb93..89ca25bd0 100644 --- a/packages/utils/src/ColorUtils.test.ts +++ b/packages/utils/src/ColorUtils.test.ts @@ -1,5 +1,5 @@ +import { TestUtils } from '@deephaven/test-utils'; import ColorUtils from './ColorUtils'; -import TestUtils from './TestUtils'; const { createMockProxy } = TestUtils; diff --git a/packages/utils/src/DOMUtils.test.ts b/packages/utils/src/DOMUtils.test.ts index acdd53cbb..7eced15dd 100644 --- a/packages/utils/src/DOMUtils.test.ts +++ b/packages/utils/src/DOMUtils.test.ts @@ -1,9 +1,9 @@ +import { TestUtils } from '@deephaven/test-utils'; import { getClosestByClassName, identityExtractHTMLElement, syncAnimationStartTime, } from './DOMUtils'; -import TestUtils from './TestUtils'; const { createMockProxy } = TestUtils; diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 8c183dff3..7917a8934 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -5,5 +5,6 @@ "outDir": "dist/" }, "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.js", "src/**/*.jsx"], - "exclude": ["node_modules", "src/**/*.test.*", "src/**/__mocks__/*"] + "exclude": ["node_modules", "src/**/*.test.*", "src/**/__mocks__/*"], + "references": [{ "path": "../test-utils" }] } diff --git a/unit-errors.json b/unit-errors.json new file mode 100644 index 000000000..0a2a69260 --- /dev/null +++ b/unit-errors.json @@ -0,0 +1 @@ +{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":240,"numPassedTests":2726,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":240,"numTotalTests":2726,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":18,"total":18,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1726597213676,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":32,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts properly"},{"ancestorTitles":["mouse"],"duration":69,"failureDetails":[],"failureMessages":[],"fullName":"mouse sends onSelect when an item is clicked","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sends onSelect when an item is clicked"},{"ancestorTitles":["mouse"],"duration":64,"failureDetails":[],"failureMessages":[],"fullName":"mouse sends onSelect only when double clicked if isDoubleClickSelect is true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sends onSelect only when double clicked if isDoubleClickSelect is true"},{"ancestorTitles":["mouse"],"duration":55,"failureDetails":[],"failureMessages":[],"fullName":"mouse extends the selection when shift clicked","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"extends the selection when shift clicked"},{"ancestorTitles":["mouse"],"duration":67,"failureDetails":[],"failureMessages":[],"fullName":"mouse selects multiple items with Ctrl+Click","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"selects multiple items with Ctrl+Click"},{"ancestorTitles":["mouse","context menu"],"duration":42,"failureDetails":[],"failureMessages":[],"fullName":"mouse context menu keeps selection when right-click in current selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"keeps selection when right-click in current selection"},{"ancestorTitles":["mouse","context menu"],"duration":48,"failureDetails":[],"failureMessages":[],"fullName":"mouse context menu updates selection when right-click outside current selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"updates selection when right-click outside current selection"},{"ancestorTitles":["mouse","context menu"],"duration":39,"failureDetails":[],"failureMessages":[],"fullName":"mouse context menu adds selection when ctrl+right-click outside current selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds selection when ctrl+right-click outside current selection"},{"ancestorTitles":["mouse","context menu"],"duration":44,"failureDetails":[],"failureMessages":[],"fullName":"mouse context menu extends selection when shift+right-click outside current selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"extends selection when shift+right-click outside current selection"},{"ancestorTitles":["mouse","context menu"],"duration":73,"failureDetails":[],"failureMessages":[],"fullName":"mouse context menu maintains selection if right-clicked item is selected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"maintains selection if right-clicked item is selected"},{"ancestorTitles":[],"duration":35,"failureDetails":[],"failureMessages":[],"fullName":"handles keyboard up and down properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles keyboard up and down properly"}],"endTime":1726597215891,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/ItemList.test.tsx","startTime":1726597214049,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["normalizeLayout tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"normalizeLayout tests normalizes V2 layout correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"normalizes V2 layout correctly"},{"ancestorTitles":["normalizeLayout tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalizeLayout tests normalizes V1 layout correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"normalizes V1 layout correctly"},{"ancestorTitles":["normalizeLayout tests"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"normalizeLayout tests throws on an unknown version correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws on an unknown version correctly"},{"ancestorTitles":["default layout"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"default layout loads the first layout that is found","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"loads the first layout that is found"},{"ancestorTitles":["default layout"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"default layout falls back to default layout when stored layout cannot be loaded","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"falls back to default layout when stored layout cannot be loaded"},{"ancestorTitles":["default layout"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"default layout falls back to default no console when stored layout cannot be loaded and no consoles are available","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"falls back to default no console when stored layout cannot be loaded and no consoles are available"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"exports layout correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"exports layout correctly"}],"endTime":1726597218313,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/app-utils/src/storage/UserLayoutUtils.test.ts","startTime":1726597214081,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":122,"failureDetails":[],"failureMessages":[],"fullName":"should throw if api has not been bootstrapped","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if api has not been bootstrapped"},{"ancestorTitles":[],"duration":61,"failureDetails":[],"failureMessages":[],"fullName":"should display an error if no login plugin matches the provided auth handlers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should display an error if no login plugin matches the provided auth handlers"},{"ancestorTitles":[],"duration":52,"failureDetails":[],"failureMessages":[],"fullName":"should log in automatically when the anonymous handler is supported","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should log in automatically when the anonymous handler is supported"}],"endTime":1726597218431,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/app-utils/src/components/AppBootstrap.test.tsx","startTime":1726597214051,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["getMoveOperation"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"getMoveOperation succeeds if moving files from root to within a directory","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"succeeds if moving files from root to within a directory"},{"ancestorTitles":["getMoveOperation"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getMoveOperation succeeds moving files from directory into root","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"succeeds moving files from directory into root"},{"ancestorTitles":["getMoveOperation"],"duration":14,"failureDetails":[],"failureMessages":[],"fullName":"getMoveOperation fails if no items selected to move","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"fails if no items selected to move"},{"ancestorTitles":["getMoveOperation"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getMoveOperation fails if trying to move files within same directory","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"fails if trying to move files within same directory"},{"ancestorTitles":["getMoveOperation"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getMoveOperation fails to move a directory into a child directory","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"fails to move a directory into a child directory"},{"ancestorTitles":[],"duration":176,"failureDetails":[],"failureMessages":[],"fullName":"mounts properly and shows file list","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts properly and shows file list"},{"ancestorTitles":["mouse actions"],"duration":149,"failureDetails":[],"failureMessages":[],"fullName":"mouse actions selects the item upon left click","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"selects the item upon left click"}],"endTime":1726597218529,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/file-explorer/src/FileList.test.tsx","startTime":1726597214050,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["getPluginModuleValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports legacy dashboard plugin format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports legacy dashboard plugin format"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports legacy auth plugin format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports legacy auth plugin format"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports legacy table plugin format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports legacy table plugin format"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports new AUTH_PLUGIN format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports new AUTH_PLUGIN format"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports new DASHBOARD_PLUGIN format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports new DASHBOARD_PLUGIN format"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports new WIDGET_PLUGIN format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports new WIDGET_PLUGIN format"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports new TABLE_PLUGIN format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports new TABLE_PLUGIN format"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports new THEME_PLUGIN format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports new THEME_PLUGIN format"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports new AUTH_PLUGIN format with named exports","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports new AUTH_PLUGIN format with named exports"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports new DASHBOARD_PLUGIN format with named exports","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports new DASHBOARD_PLUGIN format with named exports"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports new WIDGET_PLUGIN format with named exports","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports new WIDGET_PLUGIN format with named exports"},{"ancestorTitles":["getPluginModuleValue"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports new TABLE_PLUGIN format with named exports","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports new TABLE_PLUGIN format with named exports"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue supports new THEME_PLUGIN format with named exports","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"supports new THEME_PLUGIN format with named exports"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue prioritizes new dashboard plugin if the module contains both legacy and new format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"prioritizes new dashboard plugin if the module contains both legacy and new format"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue prioritizes new auth plugin if the module contains both legacy and new format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"prioritizes new auth plugin if the module contains both legacy and new format"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue prioritizes new table plugin if the module contains both legacy and new format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"prioritizes new table plugin if the module contains both legacy and new format"},{"ancestorTitles":["getPluginModuleValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue prioritizes new multiple plugin if the module contains both legacy and new format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"prioritizes new multiple plugin if the module contains both legacy and new format"},{"ancestorTitles":["getPluginModuleValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getPluginModuleValue returns null if the module value is not a plugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns null if the module value is not a plugin"}],"endTime":1726597219131,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/app-utils/src/plugins/PluginUtils.test.ts","startTime":1726597218442,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":117,"failureDetails":[],"failureMessages":[],"fullName":"mounts properly and shows file list","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts properly and shows file list"},{"ancestorTitles":["renders correct context menu actions"],"duration":163,"failureDetails":[],"failureMessages":[],"fullName":"renders correct context menu actions renders copy in the context menu","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders copy in the context menu"},{"ancestorTitles":["renders correct context menu actions"],"duration":120,"failureDetails":[],"failureMessages":[],"fullName":"renders correct context menu actions renders delete in the context menu","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders delete in the context menu"},{"ancestorTitles":["renders correct context menu actions"],"duration":113,"failureDetails":[],"failureMessages":[],"fullName":"renders correct context menu actions renders an option to create a new file in the context menu","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders an option to create a new file in the context menu"},{"ancestorTitles":["renders correct context menu actions"],"duration":102,"failureDetails":[],"failureMessages":[],"fullName":"renders correct context menu actions renders an option to create a new folder in the context menu","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders an option to create a new folder in the context menu"},{"ancestorTitles":["renders correct context menu actions"],"duration":132,"failureDetails":[],"failureMessages":[],"fullName":"renders correct context menu actions renders an option to rename a file","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders an option to rename a file"},{"ancestorTitles":["renders correct context menu actions"],"duration":175,"failureDetails":[],"failureMessages":[],"fullName":"renders correct context menu actions it should cancel when pressing escape while renaming a file","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"it should cancel when pressing escape while renaming a file"}],"endTime":1726597219132,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/file-explorer/src/FileListContainer.test.tsx","startTime":1726597214018,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":111,"failureDetails":[],"failureMessages":[],"fullName":"mounts properly and shows file list","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts properly and shows file list"},{"ancestorTitles":["selects and expands directory for NewItemModal correctly"],"duration":359,"failureDetails":[],"failureMessages":[],"fullName":"selects and expands directory for NewItemModal correctly selects and expands directory correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"selects and expands directory correctly"},{"ancestorTitles":["selects and expands directory for NewItemModal correctly"],"duration":453,"failureDetails":[],"failureMessages":[],"fullName":"selects and expands directory for NewItemModal correctly selects root directory when multiple directories are selected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"selects root directory when multiple directories are selected"},{"ancestorTitles":["selects and expands directory for NewItemModal correctly"],"duration":305,"failureDetails":[],"failureMessages":[],"fullName":"selects and expands directory for NewItemModal correctly selects root directory when no directories are selected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"selects root directory when no directories are selected"},{"ancestorTitles":["selects and expands directory for NewItemModal correctly"],"duration":418,"failureDetails":[],"failureMessages":[],"fullName":"selects and expands directory for NewItemModal correctly selects and expands directory correctly through arrow keys","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"selects and expands directory correctly through arrow keys"},{"ancestorTitles":["selects and expands directory for NewItemModal correctly"],"duration":377,"failureDetails":[],"failureMessages":[],"fullName":"selects and expands directory for NewItemModal correctly sets and expands the path correctly if a non-directory file within a directory is selected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sets and expands the path correctly if a non-directory file within a directory is selected"},{"ancestorTitles":["selects and expands directory for NewItemModal correctly"],"duration":269,"failureDetails":[],"failureMessages":[],"fullName":"selects and expands directory for NewItemModal correctly selects and expands the parent directory of a file when the file is selected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"selects and expands the parent directory of a file when the file is selected"},{"ancestorTitles":["selects and expands directory for NewItemModal correctly"],"duration":437,"failureDetails":[],"failureMessages":[],"fullName":"selects and expands directory for NewItemModal correctly clicking breadcrumb expands correct directory","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"clicking breadcrumb expands correct directory"},{"ancestorTitles":["selects and expands directory for NewItemModal correctly"],"duration":500,"failureDetails":[],"failureMessages":[],"fullName":"selects and expands directory for NewItemModal correctly clicking root breadcrumb collapses all directories","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"clicking root breadcrumb collapses all directories"}],"endTime":1726597219844,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/panels/FileExplorerPanel.test.tsx","startTime":1726597214057,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":17,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts successfully without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts successfully without crashing"},{"ancestorTitles":[],"duration":179,"failureDetails":[],"failureMessages":[],"fullName":"mounts properly and shows file list","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts properly and shows file list"},{"ancestorTitles":["context menu actions work properly"],"duration":270,"failureDetails":[],"failureMessages":[],"fullName":"context menu actions work properly should be able to rename a file","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should be able to rename a file"},{"ancestorTitles":["context menu actions work properly"],"duration":249,"failureDetails":[],"failureMessages":[],"fullName":"context menu actions work properly should be able to rename a directory","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should be able to rename a directory"},{"ancestorTitles":["context menu actions work properly"],"duration":213,"failureDetails":[],"failureMessages":[],"fullName":"context menu actions work properly should throw an error when renaming a file as a file that already exists","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error when renaming a file as a file that already exists"},{"ancestorTitles":["context menu actions work properly"],"duration":199,"failureDetails":[],"failureMessages":[],"fullName":"context menu actions work properly should open a modal when deleting an item","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should open a modal when deleting an item"},{"ancestorTitles":["context menu actions work properly"],"duration":474,"failureDetails":[],"failureMessages":[],"fullName":"context menu actions work properly should close the modal on cancelling the delete","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should close the modal on cancelling the delete"},{"ancestorTitles":["context menu actions work properly"],"duration":413,"failureDetails":[],"failureMessages":[],"fullName":"context menu actions work properly should delete the item upon confirmation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should delete the item upon confirmation"}],"endTime":1726597220196,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/file-explorer/src/FileExplorer.test.tsx","startTime":1726597214085,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":42,"failureDetails":[],"failureMessages":[],"fullName":"mounts properly with no columns correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts properly with no columns correctly"},{"ancestorTitles":["options when source is selected"],"duration":11,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected handles loading and updating when `isLoaded` is false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles loading and updating when `isLoaded` is false"},{"ancestorTitles":["options when source is selected"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected shows a settings error when presented","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows a settings error when presented"},{"ancestorTitles":["options when source is selected"],"duration":89,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected disables buttons when linker is active","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"disables buttons when linker is active"},{"ancestorTitles":["options when source is selected","state updates correctly"],"duration":48,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected state updates correctly triggers all default handlers without error","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"triggers all default handlers without error"},{"ancestorTitles":["options when source is selected","state updates correctly"],"duration":39,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected state updates correctly has the initial state correct","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"has the initial state correct"},{"ancestorTitles":["options when source is selected","state updates correctly"],"duration":125,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected state updates correctly fires a change event when column changed and saved","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"fires a change event when column changed and saved"},{"ancestorTitles":["options when source is selected","state updates correctly"],"duration":95,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected state updates correctly disables save button when column deselected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"disables save button when column deselected"},{"ancestorTitles":["options when source is selected","selecting a value"],"duration":50,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected selecting a value shows the value correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows the value correctly"},{"ancestorTitles":["options when source is selected","selecting a value"],"duration":76,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected selecting a value resets the value when no longer in list","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"resets the value when no longer in list"},{"ancestorTitles":["options when source is selected","selecting a value"],"duration":133,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected selecting a value handles selecting `null` value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles selecting `null` value"},{"ancestorTitles":["options when source is selected","selecting a value"],"duration":173,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected selecting a value resets value fires a change event when column changed and saved","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"resets value fires a change event when column changed and saved"},{"ancestorTitles":["options when source is selected","selecting a value"],"duration":195,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected selecting a value does not reset value but fires a change event when column not changed and saved","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not reset value but fires a change event when column not changed and saved"},{"ancestorTitles":["options when source is selected","selecting a value"],"duration":136,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected selecting a value fires a change when selecting a new value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"fires a change when selecting a new value"},{"ancestorTitles":["options when source is selected","selecting a value"],"duration":23,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected selecting a value doesnt fire an event when a key other than `Enter` is pressed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"doesnt fire an event when a key other than `Enter` is pressed"},{"ancestorTitles":["options when source is selected","selecting a value"],"duration":266,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected selecting a value cancels a change in selected column correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"cancels a change in selected column correctly"},{"ancestorTitles":["options when source is selected","selecting a value"],"duration":39,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected selecting a value focuses the dropdown when clicking the background","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"focuses the dropdown when clicking the background"},{"ancestorTitles":["options when source is selected","selecting a value"],"duration":98,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected selecting a value handles call to `clearFilter()` from parent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles call to `clearFilter()` from parent"},{"ancestorTitles":["options when source is selected","selecting a value"],"duration":81,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected selecting a value handles call to `setFilterState` from parent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles call to `setFilterState` from parent"},{"ancestorTitles":["options when source is selected","selecting a value"],"duration":63,"failureDetails":[],"failureMessages":[],"fullName":"options when source is selected selecting a value handles call to `setFilterState` with undefined values from parent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles call to `setFilterState` with undefined values from parent"},{"ancestorTitles":[],"duration":54,"failureDetails":[],"failureMessages":[],"fullName":"differentiates between columns with the same name by adding type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"differentiates between columns with the same name by adding type"}],"endTime":1726597220780,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/controls/dropdown-filter/DropdownFilter.test.tsx","startTime":1726597215905,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["isElementOfType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isElementOfType should return true for a Section element: {\n '$$typeof': Symbol(react.element),\n type: 'div',\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, div, true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Section element: {\n '$$typeof': Symbol(react.element),\n type: 'div',\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, div, true"},{"ancestorTitles":["isElementOfType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isElementOfType should return true for a Section element: {\n '$$typeof': Symbol(react.element),\n type: 'span',\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, div, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Section element: {\n '$$typeof': Symbol(react.element),\n type: 'span',\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, div, false"},{"ancestorTitles":["isElementOfType"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isElementOfType should return true for a Section element: some string, div, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Section element: some string, div, false"},{"ancestorTitles":["isElementOfType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isElementOfType should return true for a Section element: {\n '$$typeof': Symbol(react.element),\n type: [Object],\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, { '$$typeof': Symbol(react.forward_ref), render: [Function] }, true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Section element: {\n '$$typeof': Symbol(react.element),\n type: [Object],\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, { '$$typeof': Symbol(react.forward_ref), render: [Function] }, true"},{"ancestorTitles":["isElementOfType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isElementOfType should return true for a Section element: {\n '$$typeof': Symbol(react.element),\n type: [Object],\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, div, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Section element: {\n '$$typeof': Symbol(react.element),\n type: [Object],\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, div, false"},{"ancestorTitles":["isElementOfType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isElementOfType should return true for a Section element: {\n '$$typeof': Symbol(react.element),\n type: [Object],\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, function MockComponent() {\n return null;\n }, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Section element: {\n '$$typeof': Symbol(react.element),\n type: [Object],\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, function MockComponent() {\n return null;\n }, false"},{"ancestorTitles":["isElementOfType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isElementOfType should return true for a Section element: {\n '$$typeof': Symbol(react.element),\n type: [Function: MockComponent],\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, function MockComponent() {\n return null;\n }, true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Section element: {\n '$$typeof': Symbol(react.element),\n type: [Function: MockComponent],\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, function MockComponent() {\n return null;\n }, true"},{"ancestorTitles":["isElementOfType"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"isElementOfType should derive the `type` prop","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should derive the `type` prop"}],"endTime":1726597220825,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/ElementUtils.test.tsx","startTime":1726597219873,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useDeferredApi"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"useDeferredApi should return API directly if a value is provided from useContext, whatever the options are","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return API directly if a value is provided from useContext, whatever the options are"},{"ancestorTitles":["useDeferredApi"],"duration":11,"failureDetails":[],"failureMessages":[],"fullName":"useDeferredApi should resolve to the API value when it is provided from the function","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to the API value when it is provided from the function"},{"ancestorTitles":["useDeferredApi"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useDeferredApi returns an error if the context is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns an error if the context is null"},{"ancestorTitles":["useDeferredApi"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useDeferredApi returns an error if the metadata is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns an error if the metadata is null"}],"endTime":1726597221166,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-bootstrap/src/useDeferredApi.test.ts","startTime":1726597220205,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":46,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts AppMainContainer without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts AppMainContainer without crashing"},{"ancestorTitles":[],"duration":535,"failureDetails":[],"failureMessages":[],"fullName":"listens for widgets properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"listens for widgets properly"},{"ancestorTitles":["hydrates widgets correctly"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"hydrates widgets correctly hydrates empty props with defaults","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"hydrates empty props with defaults"},{"ancestorTitles":["hydrates widgets correctly"],"duration":32,"failureDetails":[],"failureMessages":[],"fullName":"hydrates widgets correctly does not try and add fetch when metadata does not have widget metadata","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not try and add fetch when metadata does not have widget metadata"},{"ancestorTitles":["hydrates widgets correctly"],"duration":11,"failureDetails":[],"failureMessages":[],"fullName":"hydrates widgets correctly hydrates a widget properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"hydrates a widget properly"},{"ancestorTitles":["imports layout correctly"],"duration":36,"failureDetails":[],"failureMessages":[],"fullName":"imports layout correctly uses a new key when layout is imported","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"uses a new key when layout is imported"}],"endTime":1726597221507,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/code-studio/src/main/AppMainContainer.test.tsx","startTime":1726597218543,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1440,"failureDetails":[],"failureMessages":[],"fullName":"mount/unmount MarkdownPanel without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mount/unmount MarkdownPanel without crashing"}],"endTime":1726597221594,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/panels/MarkdownPanel.test.tsx","startTime":1726597219149,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"creates without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"creates without crashing"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"handles panels mounting and unmounting","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles panels mounting and unmounting"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"gets last used panel of type properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"gets last used panel of type properly"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"get last used panel for multiple types","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"get last used panel for multiple types"}],"endTime":1726597222173,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard/src/PanelManager.test.ts","startTime":1726597221183,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["defaultChartTheme"],"duration":22,"failureDetails":[],"failureMessages":[],"fullName":"defaultChartTheme should create the default chart theme","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create the default chart theme"}],"endTime":1726597222476,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/chart/src/ChartTheme.test.ts","startTime":1726597221531,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[" mounts"],"duration":2078,"failureDetails":[],"failureMessages":[],"fullName":" mounts h1 text of StyleGuide renders","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"h1 text of StyleGuide renders"}],"endTime":1726597222625,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/code-studio/src/styleguide/StyleGuide.test.tsx","startTime":1726597218331,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":132,"failureDetails":[],"failureMessages":[],"fullName":"Renders the default state","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Renders the default state"},{"ancestorTitles":[],"duration":301,"failureDetails":[],"failureMessages":[],"fullName":"Calls on save","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Calls on save"},{"ancestorTitles":[],"duration":69,"failureDetails":[],"failureMessages":[],"fullName":"Switches to loader button while saving","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Switches to loader button while saving"},{"ancestorTitles":[],"duration":89,"failureDetails":[],"failureMessages":[],"fullName":"Adds a column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Adds a column"},{"ancestorTitles":[],"duration":222,"failureDetails":[],"failureMessages":[],"fullName":"Ignores empty names or formulas on save","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Ignores empty names or formulas on save"},{"ancestorTitles":[],"duration":300,"failureDetails":[],"failureMessages":[],"fullName":"Ignores deleted formulas on save","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Ignores deleted formulas on save"},{"ancestorTitles":[],"duration":139,"failureDetails":[],"failureMessages":[],"fullName":"Deletes columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Deletes columns"},{"ancestorTitles":[],"duration":117,"failureDetails":[],"failureMessages":[],"fullName":"Displays request failure message","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Displays request failure message"},{"ancestorTitles":[],"duration":366,"failureDetails":[],"failureMessages":[],"fullName":"Handles focus changes via keyboard","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Handles focus changes via keyboard"}],"endTime":1726597222636,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/sidebar/CustomColumnBuilder.test.tsx","startTime":1726597219140,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":80,"failureDetails":[],"failureMessages":[],"fullName":"closes Linker when escape key or Done button is pressed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"closes Linker when escape key or Done button is pressed"},{"ancestorTitles":["tests link operations"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"tests link operations deletes correct link with alt+click","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"deletes correct link with alt+click"},{"ancestorTitles":["tests link operations"],"duration":18,"failureDetails":[],"failureMessages":[],"fullName":"tests link operations deletes all links when Clear All is clicked","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"deletes all links when Clear All is clicked"}],"endTime":1726597222650,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/linker/Linker.test.tsx","startTime":1726597221624,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":91,"failureDetails":[],"failureMessages":[],"fullName":"renders without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without crashing"},{"ancestorTitles":[],"duration":54,"failureDetails":[],"failureMessages":[],"fullName":"Handles arrow to prev item and back to blank","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Handles arrow to prev item and back to blank"}],"endTime":1726597222803,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/Console.test.tsx","startTime":1726597220795,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":26,"failureDetails":[],"failureMessages":[],"fullName":"mounts/unmounts without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts/unmounts without crashing"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"unmounts while still resolving the model successfully","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"unmounts while still resolving the model successfully"},{"ancestorTitles":[],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"handles a model passed in as a promise, and shows the loading spinner until it is loaded and an event is received","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles a model passed in as a promise, and shows the loading spinner until it is loaded and an event is received"},{"ancestorTitles":[],"duration":36,"failureDetails":[],"failureMessages":[],"fullName":"shows an error properly if model loading fails","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows an error properly if model loading fails"},{"ancestorTitles":[],"duration":29,"failureDetails":[],"failureMessages":[],"fullName":"shows a prompt if input filters are required, and removes when they are set","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows a prompt if input filters are required, and removes when they are set"},{"ancestorTitles":[],"duration":9,"failureDetails":[],"failureMessages":[],"fullName":"shows loading spinner until an error is received","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows loading spinner until an error is received"},{"ancestorTitles":[],"duration":45,"failureDetails":[],"failureMessages":[],"fullName":"shows prompt if input filters are removed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows prompt if input filters are removed"},{"ancestorTitles":[],"duration":32,"failureDetails":[],"failureMessages":[],"fullName":"shows prompt if input filters are cleared","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows prompt if input filters are cleared"},{"ancestorTitles":[],"duration":16,"failureDetails":[],"failureMessages":[],"fullName":"shows loading spinner until an error is received B","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows loading spinner until an error is received B"},{"ancestorTitles":[],"duration":15,"failureDetails":[],"failureMessages":[],"fullName":"shows loading spinner until all series to process are loaded","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows loading spinner until all series to process are loaded"},{"ancestorTitles":["linker column selection"],"duration":13,"failureDetails":[],"failureMessages":[],"fullName":"linker column selection does not show overlay if linker active but no filterable columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not show overlay if linker active but no filterable columns"},{"ancestorTitles":["linker column selection"],"duration":35,"failureDetails":[],"failureMessages":[],"fullName":"linker column selection shows the column selector if linker active and filterable columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows the column selector if linker active and filterable columns"},{"ancestorTitles":[],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"adds listeners to the source table when passed in and linked","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds listeners to the source table when passed in and linked"}],"endTime":1726597223030,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/panels/ChartPanel.test.tsx","startTime":1726597220837,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Panels are not linkable if they do not have the required functions","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Panels are not linkable if they do not have the required functions"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isLinkableColumn returns false if column description starts with 'Preview of type:'","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"isLinkableColumn returns false if column description starts with 'Preview of type:'"},{"ancestorTitles":["tests scenarios where an invalid link type should be returned"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"tests scenarios where an invalid link type should be returned returns invalid if start or end panel components are null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns invalid if start or end panel components are null"},{"ancestorTitles":["tests scenarios where an invalid link type should be returned"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"tests scenarios where an invalid link type should be returned returns invalid if start and end panel IDs are the same","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns invalid if start and end panel IDs are the same"},{"ancestorTitles":["tests scenarios where an invalid link type should be returned"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"tests scenarios where an invalid link type should be returned returns invalid if neither start or end panel IDs and isolated panel ID match","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns invalid if neither start or end panel IDs and isolated panel ID match"},{"ancestorTitles":["tests scenarios where an invalid link type should be returned"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"tests scenarios where an invalid link type should be returned returns invalid if start or end panel components are null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns invalid if start or end panel components are null"},{"ancestorTitles":["tests scenarios where an invalid link type should be returned"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"tests scenarios where an invalid link type should be returned returns invalid if components or column types are not compatible","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns invalid if components or column types are not compatible"},{"ancestorTitles":["tests scenarios where an invalid link type should be returned"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"tests scenarios where an invalid link type should be returned returns invalid if target panel component is incompatible","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns invalid if target panel component is incompatible"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"finds columns correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"finds columns correctly"},{"ancestorTitles":[],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"clones links properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"clones links properly"}],"endTime":1726597223649,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/linker/LinkerUtils.test.tsx","startTime":1726597223037,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"should initialize viewport data: {\n table: [Object],\n itemHeight: 10,\n scrollDebounce: 900,\n viewportSize: 10,\n viewportPadding: 4,\n deserializeRow: [Function]\n}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initialize viewport data: {\n table: [Object],\n itemHeight: 10,\n scrollDebounce: 900,\n viewportSize: 10,\n viewportPadding: 4,\n deserializeRow: [Function]\n}"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should initialize viewport data: { table: [Object] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initialize viewport data: { table: [Object] }"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should initialize viewport data: { table: null }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initialize viewport data: { table: null }"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should initialize viewport data: { table: [Object], itemHeight: 10 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initialize viewport data: { table: [Object], itemHeight: 10 }"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should memoize result","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should memoize result"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return table"},{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"should return a callback that can apply filters and refresh viewport: {\n table: [Object],\n itemHeight: 10,\n scrollDebounce: 900,\n viewportSize: 10,\n viewportPadding: 4,\n deserializeRow: [Function]\n}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a callback that can apply filters and refresh viewport: {\n table: [Object],\n itemHeight: 10,\n scrollDebounce: 900,\n viewportSize: 10,\n viewportPadding: 4,\n deserializeRow: [Function]\n}"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"should return a callback that can apply filters and refresh viewport: { table: null }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a callback that can apply filters and refresh viewport: { table: null }"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return a callback that can apply filters and refresh viewport: { table: [Object], itemHeight: 10 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a callback that can apply filters and refresh viewport: { table: [Object], itemHeight: 10 }"},{"ancestorTitles":[],"duration":11,"failureDetails":[],"failureMessages":[],"fullName":"should set viewport if table size changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should set viewport if table size changes"},{"ancestorTitles":[],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"should set viewport if table reference changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should set viewport if table reference changes"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should update state on dh.Table.EVENT_UPDATED event","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should update state on dh.Table.EVENT_UPDATED event"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should create onScroll offset change callback: {\n table: [Object],\n itemHeight: 10,\n scrollDebounce: 900,\n viewportSize: 10,\n viewportPadding: 4,\n deserializeRow: [Function]\n}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create onScroll offset change callback: {\n table: [Object],\n itemHeight: 10,\n scrollDebounce: 900,\n viewportSize: 10,\n viewportPadding: 4,\n deserializeRow: [Function]\n}"},{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"should create onScroll offset change callback: { table: [Object] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create onScroll offset change callback: { table: [Object] }"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should return setViewport function that sets viewport on open tables: {\n table: [Object],\n itemHeight: 10,\n scrollDebounce: 900,\n viewportSize: 10,\n viewportPadding: 4,\n deserializeRow: [Function]\n}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return setViewport function that sets viewport on open tables: {\n table: [Object],\n itemHeight: 10,\n scrollDebounce: 900,\n viewportSize: 10,\n viewportPadding: 4,\n deserializeRow: [Function]\n}"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return setViewport function that sets viewport on open tables: { table: null }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return setViewport function that sets viewport on open tables: { table: null }"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should return setViewport function that sets viewport on open tables: { table: [Object], itemHeight: 10 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return setViewport function that sets viewport on open tables: { table: [Object], itemHeight: 10 }"}],"endTime":1726597223906,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useViewportData.test.tsx","startTime":1726597222813,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["availability tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"availability tests returns availability based on auth handlers: [ 'io.deephaven.authentication.psk.PskAuthenticationHandler' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns availability based on auth handlers: [ 'io.deephaven.authentication.psk.PskAuthenticationHandler' ]"},{"ancestorTitles":["availability tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"availability tests returns availability based on auth handlers: [\n 'another.type',\n 'io.deephaven.authentication.psk.PskAuthenticationHandler'\n]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns availability based on auth handlers: [\n 'another.type',\n 'io.deephaven.authentication.psk.PskAuthenticationHandler'\n]"},{"ancestorTitles":["availability tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"availability tests returns availability based on auth handlers: []","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns availability based on auth handlers: []"},{"ancestorTitles":["availability tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"availability tests returns availability based on auth handlers: [\n 'not-anonymous',\n 'io.deephaven.authentication.psk.PskAuthenticationHandler.withsuffix',\n 'prefix.io.deephaven.authentication.psk.PskAuthenticationHandler'\n]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns availability based on auth handlers: [\n 'not-anonymous',\n 'io.deephaven.authentication.psk.PskAuthenticationHandler.withsuffix',\n 'prefix.io.deephaven.authentication.psk.PskAuthenticationHandler'\n]"},{"ancestorTitles":["component tests"],"duration":14,"failureDetails":[],"failureMessages":[],"fullName":"component tests uses initial token for: WindowToken CookieToken","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"uses initial token for: WindowToken CookieToken"},{"ancestorTitles":["component tests"],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"component tests uses initial token for: WindowTokenOnly null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"uses initial token for: WindowTokenOnly null"},{"ancestorTitles":["component tests"],"duration":12,"failureDetails":[],"failureMessages":[],"fullName":"component tests uses initial token for: null CookieTokenOnly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"uses initial token for: null CookieTokenOnly"},{"ancestorTitles":["component tests"],"duration":22,"failureDetails":[],"failureMessages":[],"fullName":"component tests shows input if no token is provided","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows input if no token is provided"},{"ancestorTitles":["component tests"],"duration":40,"failureDetails":[],"failureMessages":[],"fullName":"component tests shows input if login with initial token fails, does not show error","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows input if login with initial token fails, does not show error"},{"ancestorTitles":["component tests"],"duration":161,"failureDetails":[],"failureMessages":[],"fullName":"component tests logs in with token from input","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"logs in with token from input"},{"ancestorTitles":["component tests"],"duration":234,"failureDetails":[],"failureMessages":[],"fullName":"component tests displays an error if the token inputted fails to login","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"displays an error if the token inputted fails to login"},{"ancestorTitles":["component tests"],"duration":21,"failureDetails":[],"failureMessages":[],"fullName":"component tests removes the cookie if logout occurs","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"removes the cookie if logout occurs"},{"ancestorTitles":["component tests"],"duration":22,"failureDetails":[],"failureMessages":[],"fullName":"component tests logs in with token from cookie if broadcast login occurs","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"logs in with token from cookie if broadcast login occurs"},{"ancestorTitles":["component tests","clearing token from URL tests"],"duration":21,"failureDetails":[],"failureMessages":[],"fullName":"component tests clearing token from URL tests clears token correctly for: /","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"clears token correctly for: /"},{"ancestorTitles":["component tests","clearing token from URL tests"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"component tests clearing token from URL tests clears token correctly for: /?psk=12345","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"clears token correctly for: /?psk=12345"},{"ancestorTitles":["component tests","clearing token from URL tests"],"duration":13,"failureDetails":[],"failureMessages":[],"fullName":"component tests clearing token from URL tests clears token correctly for: /?notpsk=abcde","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"clears token correctly for: /?notpsk=abcde"},{"ancestorTitles":["component tests","clearing token from URL tests"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"component tests clearing token from URL tests clears token correctly for: /test.html?psk=12345","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"clears token correctly for: /test.html?psk=12345"},{"ancestorTitles":["component tests","clearing token from URL tests"],"duration":14,"failureDetails":[],"failureMessages":[],"fullName":"component tests clearing token from URL tests clears token correctly for: /test.html?notpsk=abcde","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"clears token correctly for: /test.html?notpsk=abcde"},{"ancestorTitles":["component tests","clearing token from URL tests"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"component tests clearing token from URL tests clears token correctly for: /test.html?psk=12345&foo=bar","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"clears token correctly for: /test.html?psk=12345&foo=bar"},{"ancestorTitles":["component tests","clearing token from URL tests"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"component tests clearing token from URL tests clears token correctly for: /test.html?psk=12345#biz","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"clears token correctly for: /test.html?psk=12345#biz"},{"ancestorTitles":["component tests","clearing token from URL tests"],"duration":18,"failureDetails":[],"failureMessages":[],"fullName":"component tests clearing token from URL tests clears token correctly for: /test.html?psk=12345&foo=bar#biz","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"clears token correctly for: /test.html?psk=12345&foo=bar#biz"}],"endTime":1726597224235,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/auth-plugins/src/AuthPluginPsk.test.tsx","startTime":1726597222484,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"should return loading status while fetching","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return loading status while fetching"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return error status on fetch error","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return error status on fetch error"},{"ancestorTitles":[],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"should return success status on fetch success","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return success status on fetch success"},{"ancestorTitles":[],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"should reload the model on reload","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should reload the model on reload"}],"endTime":1726597224385,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/useIrisGridModel.test.ts","startTime":1726597222647,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["Register worker"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Register worker Registers the getWorker function","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Registers the getWorker function"},{"ancestorTitles":["Windows shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Windows shortcuts Converts a single key shortcut","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Converts a single key shortcut"},{"ancestorTitles":["Windows shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Windows shortcuts Converts a shortcut with ctrl","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Converts a shortcut with ctrl"},{"ancestorTitles":["Windows shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Windows shortcuts Converts a shortcut with shift","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Converts a shortcut with shift"},{"ancestorTitles":["Windows shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Windows shortcuts Converts a shortcut with alt","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Converts a shortcut with alt"},{"ancestorTitles":["Windows shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Windows shortcuts Converts a shortcut with meta","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Converts a shortcut with meta"},{"ancestorTitles":["Windows shortcuts"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Windows shortcuts Converts a shortcut with multiple modifiers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Converts a shortcut with multiple modifiers"},{"ancestorTitles":["Mac shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Converts a single key shortcut","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Converts a single key shortcut"},{"ancestorTitles":["Mac shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Converts a shortcut with ctrl","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Converts a shortcut with ctrl"},{"ancestorTitles":["Mac shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Converts a shortcut with shift","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Converts a shortcut with shift"},{"ancestorTitles":["Mac shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Converts a shortcut with alt","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Converts a shortcut with alt"},{"ancestorTitles":["Mac shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Converts a shortcut with meta","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Converts a shortcut with meta"},{"ancestorTitles":["Mac shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Converts a shortcut with multiple modifiers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Converts a shortcut with multiple modifiers"},{"ancestorTitles":["disableKeyBindings"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"disableKeyBindings should disable key bindings for the given editor","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should disable key bindings for the given editor"},{"ancestorTitles":["provideLinks"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"provideLinks it should get a provideLinks function which should return an object with the links","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"it should get a provideLinks function which should return an object with the links"},{"ancestorTitles":["removeConflictingKeybindings"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"removeConflictingKeybindings should override keybinding rules - isMac:true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should override keybinding rules - isMac:true"},{"ancestorTitles":["removeConflictingKeybindings"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"removeConflictingKeybindings should override keybinding rules - isMac:false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should override keybinding rules - isMac:false"}],"endTime":1726597224510,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/monaco/MonacoUtils.test.ts","startTime":1726597223928,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":20,"failureDetails":[],"failureMessages":[],"fullName":"should mount with the default values correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should mount with the default values correctly"},{"ancestorTitles":[],"duration":78,"failureDetails":[],"failureMessages":[],"fullName":"can add a blank format rule","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"can add a blank format rule"},{"ancestorTitles":[],"duration":227,"failureDetails":[],"failureMessages":[],"fullName":"can delete a format rule","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"can delete a format rule"},{"ancestorTitles":[],"duration":174,"failureDetails":[],"failureMessages":[],"fullName":"can edit a format rule","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"can edit a format rule"},{"ancestorTitles":[],"duration":160,"failureDetails":[],"failureMessages":[],"fullName":"displays an error when the formatting rule is empty","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"displays an error when the formatting rule is empty"},{"ancestorTitles":[],"duration":228,"failureDetails":[],"failureMessages":[],"fullName":"displays an error when two rules have the same name and type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"displays an error when two rules have the same name and type"},{"ancestorTitles":[],"duration":105,"failureDetails":[],"failureMessages":[],"fullName":"should render a select menu when the column type is DateTime","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render a select menu when the column type is DateTime"},{"ancestorTitles":[],"duration":159,"failureDetails":[],"failureMessages":[],"fullName":"should change the input value when column type is Integer","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should change the input value when column type is Integer"},{"ancestorTitles":[],"duration":24,"failureDetails":[],"failureMessages":[],"fullName":"should throw an error if formatter is wrong","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error if formatter is wrong"}],"endTime":1726597224728,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/code-studio/src/settings/ColumnSpecificSectionContent.test.tsx","startTime":1726597222644,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":47,"failureDetails":[],"failureMessages":[],"fullName":"renders an empty list without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders an empty list without crashing"},{"ancestorTitles":[],"duration":23,"failureDetails":[],"failureMessages":[],"fullName":"renders a list with items without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders a list with items without crashing"},{"ancestorTitles":[],"duration":82,"failureDetails":[],"failureMessages":[],"fullName":"handles selecting an item on click","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles selecting an item on click"},{"ancestorTitles":[],"duration":84,"failureDetails":[],"failureMessages":[],"fullName":"handles selecting and deselecting an item on click","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles selecting and deselecting an item on click"},{"ancestorTitles":[],"duration":54,"failureDetails":[],"failureMessages":[],"fullName":"handles changing selection on click","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles changing selection on click"},{"ancestorTitles":[],"duration":53,"failureDetails":[],"failureMessages":[],"fullName":"handles selecting a range on shift click","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles selecting a range on shift click"},{"ancestorTitles":[],"duration":48,"failureDetails":[],"failureMessages":[],"fullName":"handles changing selection to single item within range on click","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles changing selection to single item within range on click"},{"ancestorTitles":[],"duration":23,"failureDetails":[],"failureMessages":[],"fullName":"handles selecting multiple items on modifier click","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles selecting multiple items on modifier click"},{"ancestorTitles":[],"duration":36,"failureDetails":[],"failureMessages":[],"fullName":"handles click and drag","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles click and drag"},{"ancestorTitles":[],"duration":66,"failureDetails":[],"failureMessages":[],"fullName":"handles click and drag with multiples moves on same item","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles click and drag with multiples moves on same item"},{"ancestorTitles":[],"duration":39,"failureDetails":[],"failureMessages":[],"fullName":"handles click and drag, then modifier click to remove item","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles click and drag, then modifier click to remove item"}],"endTime":1726597224791,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/command-history/CommandHistory.test.tsx","startTime":1726597222656,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":94,"failureDetails":[],"failureMessages":[],"fullName":"shows all operations in select when no aggregations selected yet","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows all operations in select when no aggregations selected yet"},{"ancestorTitles":[],"duration":22,"failureDetails":[],"failureMessages":[],"fullName":"adds an aggregation when clicking the add button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds an aggregation when clicking the add button"},{"ancestorTitles":[],"duration":79,"failureDetails":[],"failureMessages":[],"fullName":"deletes an aggregation when clicking the trash can","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"deletes an aggregation when clicking the trash can"},{"ancestorTitles":[],"duration":75,"failureDetails":[],"failureMessages":[],"fullName":"triggers an edit when pen is pressed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"triggers an edit when pen is pressed"},{"ancestorTitles":[],"duration":83,"failureDetails":[],"failureMessages":[],"fullName":"only lists items without aggregations in the dropdown","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"only lists items without aggregations in the dropdown"},{"ancestorTitles":[],"duration":59,"failureDetails":[],"failureMessages":[],"fullName":"hides the select view when all aggregations are selected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"hides the select view when all aggregations are selected"}],"endTime":1726597225114,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/sidebar/aggregations/Aggregations.test.tsx","startTime":1726597223680,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":395,"failureDetails":[],"failureMessages":[],"fullName":"renders without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without crashing"},{"ancestorTitles":[],"duration":115,"failureDetails":[],"failureMessages":[],"fullName":"handles ctrl+shift+e to clear filters","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles ctrl+shift+e to clear filters"},{"ancestorTitles":[],"duration":189,"failureDetails":[],"failureMessages":[],"fullName":"handles reverse key shortcut","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles reverse key shortcut"},{"ancestorTitles":[],"duration":170,"failureDetails":[],"failureMessages":[],"fullName":"handles copy key handler","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles copy key handler"},{"ancestorTitles":[],"duration":125,"failureDetails":[],"failureMessages":[],"fullName":"handles value: undefined in setFilterMap, clears column filter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles value: undefined in setFilterMap, clears column filter"},{"ancestorTitles":[],"duration":118,"failureDetails":[],"failureMessages":[],"fullName":"handles value: null in setFilterMap","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles value: null in setFilterMap"},{"ancestorTitles":[],"duration":122,"failureDetails":[],"failureMessages":[],"fullName":"handles undefined operator, should default to eq","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles undefined operator, should default to eq"},{"ancestorTitles":[],"duration":50,"failureDetails":[],"failureMessages":[],"fullName":"should set gotoValueSelectedColumnName to empty string if no columns are given","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should set gotoValueSelectedColumnName to empty string if no columns are given"}],"endTime":1726597225188,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/IrisGrid.test.tsx","startTime":1726597222192,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"renders an empty list without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders an empty list without crashing"},{"ancestorTitles":[],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"renders a list of 100 without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders a list of 100 without crashing"}],"endTime":1726597225892,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/console-history/ConsoleHistory.test.tsx","startTime":1726597224399,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":79,"failureDetails":[],"failureMessages":[],"fullName":"calls appropriate functions on button and key presses","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls appropriate functions on button and key presses"}],"endTime":1726597225956,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/linker/LinkerOverlayContent.test.tsx","startTime":1726597225124,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":120,"failureDetails":[],"failureMessages":[],"fullName":"renders without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without crashing"},{"ancestorTitles":[],"duration":56,"failureDetails":[],"failureMessages":[],"fullName":"updates the chart type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"updates the chart type"},{"ancestorTitles":[],"duration":39,"failureDetails":[],"failureMessages":[],"fullName":"has x-axis selection with the proper columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"has x-axis selection with the proper columns"},{"ancestorTitles":[],"duration":49,"failureDetails":[],"failureMessages":[],"fullName":"updates series selection with the proper columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"updates series selection with the proper columns"},{"ancestorTitles":[],"duration":159,"failureDetails":[],"failureMessages":[],"fullName":"add and deletes series items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"add and deletes series items"},{"ancestorTitles":[],"duration":101,"failureDetails":[],"failureMessages":[],"fullName":"updates linked state","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"updates linked state"},{"ancestorTitles":[],"duration":74,"failureDetails":[],"failureMessages":[],"fullName":"resets the form properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"resets the form properly"},{"ancestorTitles":[],"duration":31,"failureDetails":[],"failureMessages":[],"fullName":"handles form submission","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles form submission"},{"ancestorTitles":[],"duration":144,"failureDetails":[],"failureMessages":[],"fullName":"calls onChange when fields are updated","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls onChange when fields are updated"}],"endTime":1726597226079,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/sidebar/ChartBuilder.test.tsx","startTime":1726597224739,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":43,"failureDetails":[],"failureMessages":[],"fullName":"mounts properly with no columns correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts properly with no columns correctly"}],"endTime":1726597226427,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/panels/DropdownFilterPanel.test.tsx","startTime":1726597225965,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useSearchableViewportData: %s"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useSearchableViewportData: %s should create windowed viewport for list data","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create windowed viewport for list data"},{"ancestorTitles":["useSearchableViewportData: %s"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useSearchableViewportData: %s should filter data based on search text","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should filter data based on search text"}],"endTime":1726597226433,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useSearchableViewportData.test.ts","startTime":1726597225319,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts properly"},{"ancestorTitles":["typing in matches mask"],"duration":147,"failureDetails":[],"failureMessages":[],"fullName":"typing in matches mask handles typing in exactly the right characters","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles typing in exactly the right characters"},{"ancestorTitles":["typing in matches mask"],"duration":118,"failureDetails":[],"failureMessages":[],"fullName":"typing in matches mask handles skipping punctuation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles skipping punctuation"},{"ancestorTitles":["typing in matches mask"],"duration":85,"failureDetails":[],"failureMessages":[],"fullName":"typing in matches mask handles skipping the first hour","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles skipping the first hour"},{"ancestorTitles":["selection"],"duration":117,"failureDetails":[],"failureMessages":[],"fullName":"selection automatically selects the correct segment when no range selected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"automatically selects the correct segment when no range selected"},{"ancestorTitles":["selection"],"duration":77,"failureDetails":[],"failureMessages":[],"fullName":"selection does not affect a range if selected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not affect a range if selected"},{"ancestorTitles":["select and type"],"duration":237,"failureDetails":[],"failureMessages":[],"fullName":"select and type handles typing after autoselecting a segment","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles typing after autoselecting a segment"},{"ancestorTitles":["select and type"],"duration":84,"failureDetails":[],"failureMessages":[],"fullName":"select and type handles backspace","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles backspace"},{"ancestorTitles":["select and type"],"duration":53,"failureDetails":[],"failureMessages":[],"fullName":"select and type trims trailing mask and spaces","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"trims trailing mask and spaces"},{"ancestorTitles":["select and type"],"duration":110,"failureDetails":[],"failureMessages":[],"fullName":"select and type fills in missing chars and triggers onChange","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"fills in missing chars and triggers onChange"},{"ancestorTitles":["select and type"],"duration":39,"failureDetails":[],"failureMessages":[],"fullName":"select and type updates the displayed value on blur","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"updates the displayed value on blur"},{"ancestorTitles":["select and type"],"duration":37,"failureDetails":[],"failureMessages":[],"fullName":"select and type existing edge cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"existing edge cases"},{"ancestorTitles":["arrow left and right jumps segments"],"duration":208,"failureDetails":[],"failureMessages":[],"fullName":"arrow left and right jumps segments handles going left","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles going left"},{"ancestorTitles":["arrow left and right jumps segments"],"duration":203,"failureDetails":[],"failureMessages":[],"fullName":"arrow left and right jumps segments handles going right","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles going right"},{"ancestorTitles":["arrow left and right jumps segments"],"duration":74,"failureDetails":[],"failureMessages":[],"fullName":"arrow left and right jumps segments handles a mix of left/right","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles a mix of left/right"},{"ancestorTitles":["arrow up and down updates values in segments"],"duration":98,"failureDetails":[],"failureMessages":[],"fullName":"arrow up and down updates values in segments handles down arrow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles down arrow"},{"ancestorTitles":["arrow up and down updates values in segments"],"duration":90,"failureDetails":[],"failureMessages":[],"fullName":"arrow up and down updates values in segments handles up arrow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles up arrow"},{"ancestorTitles":[],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"updates properly when the value prop is updated","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"updates properly when the value prop is updated"},{"ancestorTitles":[],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"ignores value prop changes matching displayed value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"ignores value prop changes matching displayed value"}],"endTime":1726597226579,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/TimeInput.test.tsx","startTime":1726597224558,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":27,"failureDetails":[],"failureMessages":[],"fullName":"should mount and unmount without errors","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should mount and unmount without errors"},{"ancestorTitles":["default decimal formatting"],"duration":9,"failureDetails":[],"failureMessages":[],"fullName":"default decimal formatting shows the currently set default","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows the currently set default"},{"ancestorTitles":["default decimal formatting"],"duration":55,"failureDetails":[],"failureMessages":[],"fullName":"default decimal formatting updates settings when value is changed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"updates settings when value is changed"},{"ancestorTitles":["default decimal formatting"],"duration":29,"failureDetails":[],"failureMessages":[],"fullName":"default decimal formatting resets to default","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"resets to default"},{"ancestorTitles":["default integer formatting"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"default integer formatting shows the currently set default","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows the currently set default"},{"ancestorTitles":["default integer formatting"],"duration":54,"failureDetails":[],"failureMessages":[],"fullName":"default integer formatting updates settings when value is changed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"updates settings when value is changed"},{"ancestorTitles":["default integer formatting"],"duration":14,"failureDetails":[],"failureMessages":[],"fullName":"default integer formatting resets to default","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"resets to default"}],"endTime":1726597226647,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/code-studio/src/settings/FormattingSectionContent.test.tsx","startTime":1726597226090,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useCheckIfExistsValue: true"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"useCheckIfExistsValue: true should check if value exists and return result: isCaseSensitive:true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should check if value exists and return result: isCaseSensitive:true"},{"ancestorTitles":["useCheckIfExistsValue: true"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useCheckIfExistsValue: true should check if value exists and return result: isCaseSensitive:false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should check if value exists and return result: isCaseSensitive:false"},{"ancestorTitles":["useCheckIfExistsValue: true"],"duration":502,"failureDetails":[],"failureMessages":[],"fullName":"useCheckIfExistsValue: true should treat valueExists as indeterminant while value check is pending","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should treat valueExists as indeterminant while value check is pending"},{"ancestorTitles":["useCheckIfExistsValue: true"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"useCheckIfExistsValue: true should trim search text and treat valueExists as indeterminant while debouncing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trim search text and treat valueExists as indeterminant while debouncing"},{"ancestorTitles":["useCheckIfExistsValue: false"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useCheckIfExistsValue: false should check if value exists and return result: isCaseSensitive:true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should check if value exists and return result: isCaseSensitive:true"},{"ancestorTitles":["useCheckIfExistsValue: false"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useCheckIfExistsValue: false should check if value exists and return result: isCaseSensitive:false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should check if value exists and return result: isCaseSensitive:false"},{"ancestorTitles":["useCheckIfExistsValue: false"],"duration":505,"failureDetails":[],"failureMessages":[],"fullName":"useCheckIfExistsValue: false should treat valueExists as indeterminant while value check is pending","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should treat valueExists as indeterminant while value check is pending"},{"ancestorTitles":["useCheckIfExistsValue: false"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useCheckIfExistsValue: false should trim search text and treat valueExists as indeterminant while debouncing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trim search text and treat valueExists as indeterminant while debouncing"}],"endTime":1726597226789,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useCheckIfExistsValue.test.ts","startTime":1726597224815,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":67,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts properly"}],"endTime":1726597226916,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard/src/Dashboard.test.tsx","startTime":1726597225899,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":14,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts properly"},{"ancestorTitles":["Go to row"],"duration":34,"failureDetails":[],"failureMessages":[],"fullName":"Go to row calls onGotoRowSubmit on Enter key press","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls onGotoRowSubmit on Enter key press"},{"ancestorTitles":["Go to row"],"duration":46,"failureDetails":[],"failureMessages":[],"fullName":"Go to row does not call onGotoRowSubmit on non-Enter key press","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not call onGotoRowSubmit on non-Enter key press"},{"ancestorTitles":["Go to row"],"duration":29,"failureDetails":[],"failureMessages":[],"fullName":"Go to row calls onGotoRowNumberChanged on number key press","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls onGotoRowNumberChanged on number key press"},{"ancestorTitles":["Go to value"],"duration":17,"failureDetails":[],"failureMessages":[],"fullName":"Go to value calls onGotoValueInputChanged when input value changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls onGotoValueInputChanged when input value changes"},{"ancestorTitles":["Go to value"],"duration":31,"failureDetails":[],"failureMessages":[],"fullName":"Go to value calls onGotoValueSelectedFilterChanged when select value changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls onGotoValueSelectedFilterChanged when select value changes"},{"ancestorTitles":["Go to value"],"duration":28,"failureDetails":[],"failureMessages":[],"fullName":"Go to value calls onGotoValueSelectedColumnNameChanged when select value changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls onGotoValueSelectedColumnNameChanged when select value changes"}],"endTime":1726597227121,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/GotoRow.test.tsx","startTime":1726597226442,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["FilterSetManagerPanel"],"duration":49,"failureDetails":[],"failureMessages":[],"fullName":"FilterSetManagerPanel Renders the initial screen without errors","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Renders the initial screen without errors"},{"ancestorTitles":["FilterSetManagerPanel"],"duration":165,"failureDetails":[],"failureMessages":[],"fullName":"FilterSetManagerPanel Rejects empty filter set name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Rejects empty filter set name"},{"ancestorTitles":["FilterSetManagerPanel"],"duration":275,"failureDetails":[],"failureMessages":[],"fullName":"FilterSetManagerPanel Captures filter set correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Captures filter set correctly"},{"ancestorTitles":["FilterSetManagerPanel"],"duration":398,"failureDetails":[],"failureMessages":[],"fullName":"FilterSetManagerPanel Captures filter set with Restore Full State checked","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Captures filter set with Restore Full State checked"},{"ancestorTitles":["FilterSetManagerPanel"],"duration":147,"failureDetails":[],"failureMessages":[],"fullName":"FilterSetManagerPanel Applies filter set on button click and dropdown select","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Applies filter set on button click and dropdown select"},{"ancestorTitles":["changeFilterIndexesToColumnNames"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"changeFilterIndexesToColumnNames Replaces indexes with column names","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Replaces indexes with column names"},{"ancestorTitles":["changeFilterIndexesToColumnNames"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"changeFilterIndexesToColumnNames Omits columns with invalid indexes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Omits columns with invalid indexes"}],"endTime":1726597227336,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/panels/FilterSetManagerPanel.test.tsx","startTime":1726597224242,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":11,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, null should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, null should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":9,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: true, false, { placement: 'top' }"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: true, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, null should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, true, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, true, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, null should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', textValue: undefined }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(undefined, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.key, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, Empty, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: 'mock.key', item: [Object] }, mock.textValue, wrapIcon(undefined, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(undefined, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: '', item: [Object] }, Empty, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"},{"ancestorTitles":["useRenderNormalizedItem: false, false, { placement: 'top' }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useRenderNormalizedItem: false, false, { placement: 'top' } should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a render function that can be used to render a normalized item in collection components: { key: undefined, item: [Object] }, undefined, wrapIcon(mock.icon, illustration), wrapPrimitiveWithText(mock.content, undefined), wrapPrimitiveWithText(mock.description, description)"}],"endTime":1726597227504,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/utils/useRenderNormalizedItem.test.tsx","startTime":1726597226585,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["availability tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"availability tests returns availability based on auth handlers: [ 'io.deephaven.auth.AnonymousAuthenticationHandler' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns availability based on auth handlers: [ 'io.deephaven.auth.AnonymousAuthenticationHandler' ]"},{"ancestorTitles":["availability tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"availability tests returns availability based on auth handlers: [ 'another.type', 'io.deephaven.auth.AnonymousAuthenticationHandler' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns availability based on auth handlers: [ 'another.type', 'io.deephaven.auth.AnonymousAuthenticationHandler' ]"},{"ancestorTitles":["availability tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"availability tests returns availability based on auth handlers: []","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns availability based on auth handlers: []"},{"ancestorTitles":["availability tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"availability tests returns availability based on auth handlers: [\n 'not-anonymous',\n 'io.deephaven.auth.AnonymousAuthenticationHandler.withsuffix',\n 'prefix.io.deephaven.auth.AnonymousAuthenticationHandler'\n]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns availability based on auth handlers: [\n 'not-anonymous',\n 'io.deephaven.auth.AnonymousAuthenticationHandler.withsuffix',\n 'prefix.io.deephaven.auth.AnonymousAuthenticationHandler'\n]"},{"ancestorTitles":["component tests"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"component tests attempts to login on mount, calls success","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"attempts to login on mount, calls success"},{"ancestorTitles":["component tests"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"component tests attempts to login on mount, calls failure if login fails","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"attempts to login on mount, calls failure if login fails"}],"endTime":1726597227581,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/auth-plugins/src/AuthPluginAnonymous.test.tsx","startTime":1726597226658,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["contains tests"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"contains tests should properly detect when a range contains another range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should properly detect when a range contains another range"},{"ancestorTitles":["contains tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"contains tests should return false when it does not contain the other range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false when it does not contain the other range"},{"ancestorTitles":["touching tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"touching tests should properly detect an axis range touching","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should properly detect an axis range touching"},{"ancestorTitles":["touching tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"touching tests should properly detect axis ranges not touching","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should properly detect axis ranges not touching"},{"ancestorTitles":["touching tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"touching tests should properly detect when two ranges touch eachother","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should properly detect when two ranges touch eachother"},{"ancestorTitles":["touching tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"touching tests should properly detect when two ranges do not touch eachother","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should properly detect when two ranges do not touch eachother"},{"ancestorTitles":["intersection tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"intersection tests returns the full range if the same","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the full range if the same"},{"ancestorTitles":["intersection tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"intersection tests returns the smaller range if entirely within a bigger range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the smaller range if entirely within a bigger range"},{"ancestorTitles":["intersection tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"intersection tests returns the partially intersecting part","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the partially intersecting part"},{"ancestorTitles":["intersection tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"intersection tests returns intersection of entire row selections","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns intersection of entire row selections"},{"ancestorTitles":["intersection tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"intersection tests returns intersection of entire column selections","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns intersection of entire column selections"},{"ancestorTitles":["intersection tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"intersection tests returns intersection of entire row/column selections","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns intersection of entire row/column selections"},{"ancestorTitles":["intersection tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"intersection tests returns full range if entire grid selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns full range if entire grid selection"},{"ancestorTitles":["intersection tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"intersection tests returns null if they do not intersect at all","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns null if they do not intersect at all"},{"ancestorTitles":["intersection tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"intersection tests returns full grid if both are full grid selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns full grid if both are full grid selection"},{"ancestorTitles":["consolidation tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"consolidation tests should consolidate adjacent column ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should consolidate adjacent column ranges"},{"ancestorTitles":["consolidation tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"consolidation tests should consolidate adjacent row ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should consolidate adjacent row ranges"},{"ancestorTitles":["consolidation tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"consolidation tests should consolidate overlapping ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should consolidate overlapping ranges"},{"ancestorTitles":["consolidation tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"consolidation tests should not consolidate ranges not adjacent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not consolidate ranges not adjacent"},{"ancestorTitles":["consolidation tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"consolidation tests should consolidate more than 2 adjacent ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should consolidate more than 2 adjacent ranges"},{"ancestorTitles":["consolidation tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"consolidation tests should consolidate more than 2 adjacent ranges out of order","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should consolidate more than 2 adjacent ranges out of order"},{"ancestorTitles":["consolidation tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"consolidation tests should consolidate more than 2 adjacent ranges, and not consolidate one not adjact","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should consolidate more than 2 adjacent ranges, and not consolidate one not adjact"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests should handle subtracting one cell from the middle","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle subtracting one cell from the middle"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests should handle subtracting the entire middle row","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle subtracting the entire middle row"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests should handle subtracting a bounded column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle subtracting a bounded column"},{"ancestorTitles":["subtracting ranges tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests should handle subtracting an unbounded middle column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle subtracting an unbounded middle column"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests should handle subtracting the entire region","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle subtracting the entire region"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests should handle subtracting with a partially overlapping piece","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle subtracting with a partially overlapping piece"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests handles subtracting a partially overlapping piece at the top left","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles subtracting a partially overlapping piece at the top left"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests should handle subtracting from a full column selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle subtracting from a full column selection"},{"ancestorTitles":["subtracting ranges tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests should handle subtracting from a full row selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle subtracting from a full row selection"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests should handle subtracting the entire first row","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle subtracting the entire first row"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests should handle subtracting the entire first column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle subtracting the entire first column"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests should handle subtracting the entire last row","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle subtracting the entire last row"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests should handle subtracting the entire last column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle subtracting the entire last column"},{"ancestorTitles":["subtracting ranges tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests subtracting from outside the range has no effect","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"subtracting from outside the range has no effect"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests static handles subtracting one range from multiple ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"static handles subtracting one range from multiple ranges"},{"ancestorTitles":["subtracting ranges tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"subtracting ranges tests handles subtracting multiple ranges from multiple ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles subtracting multiple ranges from multiple ranges"},{"ancestorTitles":["offset tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"offset tests handles offsetting a cell","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles offsetting a cell"},{"ancestorTitles":["offset tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"offset tests handles offsetting a range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles offsetting a range"},{"ancestorTitles":["offset tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"offset tests handles offsetting a column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles offsetting a column"},{"ancestorTitles":["offset tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"offset tests handles offsetting a row","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles offsetting a row"},{"ancestorTitles":["rowCount tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"rowCount tests returns 0 for empty set","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns 0 for empty set"},{"ancestorTitles":["rowCount tests"],"duration":771,"failureDetails":[],"failureMessages":[],"fullName":"rowCount tests sums bounded ranges properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sums bounded ranges properly"},{"ancestorTitles":["rowCount tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"rowCount tests returns NaN for unbounded ranges properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns NaN for unbounded ranges properly"},{"ancestorTitles":["cellCount tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"cellCount tests returns 0 for empty set","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns 0 for empty set"},{"ancestorTitles":["cellCount tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"cellCount tests sums bounded ranges properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sums bounded ranges properly"},{"ancestorTitles":["cellCount tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"cellCount tests returns NaN for unbounded ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns NaN for unbounded ranges"},{"ancestorTitles":["next cell"],"duration":28,"failureDetails":[],"failureMessages":[],"fullName":"next cell throws if no ranges passed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws if no ranges passed"},{"ancestorTitles":["next cell"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"next cell returns null for no ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns null for no ranges"},{"ancestorTitles":["next cell"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"next cell returns the first cell if no previous cell","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the first cell if no previous cell"},{"ancestorTitles":["next cell"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"next cell returns first cell if focus is outside of all ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns first cell if focus is outside of all ranges"},{"ancestorTitles":["next cell","returns the next cell in current range"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"next cell returns the next cell in current range handles down","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles down"},{"ancestorTitles":["next cell","returns the next cell in current range"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"next cell returns the next cell in current range handles right","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles right"},{"ancestorTitles":["next cell","returns the next cell in current range"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"next cell returns the next cell in current range handles up","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles up"},{"ancestorTitles":["next cell","returns the next cell in current range"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"next cell returns the next cell in current range handles left","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles left"},{"ancestorTitles":["next cell"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"next cell wraps at end of one dimension","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"wraps at end of one dimension"},{"ancestorTitles":["next cell"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"next cell wraps at end of both dimensions","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"wraps at end of both dimensions"},{"ancestorTitles":["next cell"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"next cell goes to start of next range if at end of current range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"goes to start of next range if at end of current range"},{"ancestorTitles":["next cell"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"next cell throws if range is unbounded","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws if range is unbounded"},{"ancestorTitles":["for each"],"duration":96,"failureDetails":[],"failureMessages":[],"fullName":"for each handles DOWN","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles DOWN"},{"ancestorTitles":["for each"],"duration":73,"failureDetails":[],"failureMessages":[],"fullName":"for each handles RIGHT","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles RIGHT"},{"ancestorTitles":["for each"],"duration":75,"failureDetails":[],"failureMessages":[],"fullName":"for each handles UP","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles UP"},{"ancestorTitles":["for each"],"duration":74,"failureDetails":[],"failureMessages":[],"fullName":"for each handles LEFT","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles LEFT"}],"endTime":1726597227696,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/grid/src/GridRange.test.ts","startTime":1726597226443,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"renders without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without crashing"},{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"registers/deregisters completion provider properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"registers/deregisters completion provider properly"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"provides completion items with no documentation object","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"provides completion items with no documentation object"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"provides completion items properly with documentation object","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"provides completion items properly with documentation object"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"registers/deregisters signature help provider properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"registers/deregisters signature help provider properly"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"does not register signature help if it is not available","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not register signature help if it is not available"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"provides signature help properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"provides signature help properly"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"registers/deregisters hover provider properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"registers/deregisters hover provider properly"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"does not register hover if it is not available","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not register hover if it is not available"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"provides hover info properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"provides hover info properly"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"converts lsp to monaco range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts lsp to monaco range"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"converts monaco to lsp position","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts monaco to lsp position"}],"endTime":1726597227712,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/monaco/MonacoProviders.test.tsx","startTime":1726597227521,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":46,"failureDetails":[],"failureMessages":[],"fullName":"handles mounting and unmount core plugins properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles mounting and unmount core plugins properly"}],"endTime":1726597227784,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/index.test.tsx","startTime":1726597226938,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["generateNormalizedItems"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"generateNormalizedItems should generate normalized items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate normalized items"},{"ancestorTitles":["sampleSectionIdAndClasses"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sampleSectionIdAndClasses should return id and className","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return id and className"},{"ancestorTitles":["sampleSectionIdAndClassesSpectrum"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sampleSectionIdAndClassesSpectrum should return id and UNSAFE_className","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return id and UNSAFE_className"}],"endTime":1726597227903,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/code-studio/src/styleguide/utils.test.ts","startTime":1726597227141,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":12,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts without failing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts without failing"},{"ancestorTitles":[],"duration":59,"failureDetails":[],"failureMessages":[],"fullName":"adds invalid class for invalid input","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds invalid class for invalid input"},{"ancestorTitles":[],"duration":75,"failureDetails":[],"failureMessages":[],"fullName":"removes invalid class for empty input","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"removes invalid class for empty input"},{"ancestorTitles":[],"duration":75,"failureDetails":[],"failureMessages":[],"fullName":"adds valid value on enter and clears input","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds valid value on enter and clears input"},{"ancestorTitles":[],"duration":58,"failureDetails":[],"failureMessages":[],"fullName":"ignores invalid value on enter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"ignores invalid value on enter"},{"ancestorTitles":[],"duration":23,"failureDetails":[],"failureMessages":[],"fullName":"ignores empty value on enter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"ignores empty value on enter"},{"ancestorTitles":["delete button"],"duration":82,"failureDetails":[],"failureMessages":[],"fullName":"delete button disabled by default, enabled on item select","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"disabled by default, enabled on item select"},{"ancestorTitles":["delete button"],"duration":24,"failureDetails":[],"failureMessages":[],"fullName":"delete button enabled on item click and drag","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"enabled on item click and drag"},{"ancestorTitles":["delete button"],"duration":32,"failureDetails":[],"failureMessages":[],"fullName":"delete button enabled click and drag across multiple items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"enabled click and drag across multiple items"}],"endTime":1726597228034,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/EditableItemList.test.tsx","startTime":1726597226811,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":16,"failureDetails":[],"failureMessages":[],"fullName":"renders without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without crashing"},{"ancestorTitles":["allowZip tests"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"allowZip tests does not accept zip in input if allowZip not true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not accept zip in input if allowZip not true"},{"ancestorTitles":["allowZip tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"allowZip tests accepts zip from input if allowZip is true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"accepts zip from input if allowZip is true"},{"ancestorTitles":["isValidExtension tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isValidExtension tests handles default types","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles default types"},{"ancestorTitles":["isValidExtension tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isValidExtension tests only handles zip files when allowed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"only handles zip files when allowed"},{"ancestorTitles":["isValidExtension tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isValidExtension tests does not accept other file extensions","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not accept other file extensions"}],"endTime":1726597228148,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/csv/CsvOverlay.test.tsx","startTime":1726597227730,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"canHaveRef","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"canHaveRef"}],"endTime":1726597228206,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard/src/DashboardUtils.test.tsx","startTime":1726597227353,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["PouchStorageTable - Filter Functions","makePouchFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"PouchStorageTable - Filter Functions makePouchFilter should create a PouchFilter for eq operator","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a PouchFilter for eq operator"},{"ancestorTitles":["PouchStorageTable - Filter Functions","makePouchFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"PouchStorageTable - Filter Functions makePouchFilter should create a PouchFilter for notEq operator","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a PouchFilter for notEq operator"},{"ancestorTitles":["PouchStorageTable - Filter Functions","makePouchFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"PouchStorageTable - Filter Functions makePouchFilter should create a PouchFilter for greaterThan operator","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a PouchFilter for greaterThan operator"},{"ancestorTitles":["PouchStorageTable - Filter Functions","makePouchFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"PouchStorageTable - Filter Functions makePouchFilter should create a PouchFilter for greaterThanOrEqualTo operator","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a PouchFilter for greaterThanOrEqualTo operator"},{"ancestorTitles":["PouchStorageTable - Filter Functions","makePouchFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"PouchStorageTable - Filter Functions makePouchFilter should create a PouchFilter for lessThan operator","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a PouchFilter for lessThan operator"},{"ancestorTitles":["PouchStorageTable - Filter Functions","makePouchFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"PouchStorageTable - Filter Functions makePouchFilter should create a PouchFilter for lessThanOrEqualTo operator","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a PouchFilter for lessThanOrEqualTo operator"},{"ancestorTitles":["PouchStorageTable - Filter Functions","makePouchFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"PouchStorageTable - Filter Functions makePouchFilter should create a PouchFilter for startsWith operator","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a PouchFilter for startsWith operator"},{"ancestorTitles":["PouchStorageTable - Filter Functions","makePouchFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"PouchStorageTable - Filter Functions makePouchFilter should create a PouchFilter for contains operator","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a PouchFilter for contains operator"},{"ancestorTitles":["PouchStorageTable - Filter Functions","makePouchFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"PouchStorageTable - Filter Functions makePouchFilter should create a PouchFilter for inIgnoreCase operator","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a PouchFilter for inIgnoreCase operator"},{"ancestorTitles":["PouchStorageTable - Filter Functions","makePouchFilter"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"PouchStorageTable - Filter Functions makePouchFilter should throw an error for unsupported filter types","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error for unsupported filter types"}],"endTime":1726597228373,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/pouch-storage/src/PouchStorageTable.test.ts","startTime":1726597228216,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts successfully without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts successfully without crashing"}],"endTime":1726597228437,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/panels/ChartColumnSelectorOverlay.test.tsx","startTime":1726597227592,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts without crashing"},{"ancestorTitles":["different command results"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"different command results shows loading spinner while waiting for updates","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows loading spinner while waiting for updates"},{"ancestorTitles":["different command results"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"different command results renders <1s elapsed time for a command that was just started","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders <1s elapsed time for a command that was just started"},{"ancestorTitles":["different command results"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"different command results renders correct time for completed command","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders correct time for completed command"},{"ancestorTitles":["different command results"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"different command results shows error message","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows error message"}],"endTime":1726597228630,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/command-history/CommandHistoryItemTooltip.test.tsx","startTime":1726597228165,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"should call the error callback if no API provider wrapped","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call the error callback if no API provider wrapped"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"renders children if the API is loaded","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders children if the API is loaded"},{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"waits to render children until the API is loaded","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"waits to render children until the API is loaded"}],"endTime":1726597228807,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-bootstrap/src/DeferredApiBootstrap.test.tsx","startTime":1726597227910,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useApi"],"duration":15,"failureDetails":[],"failureMessages":[],"fullName":"useApi should return API context value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return API context value"},{"ancestorTitles":["useApi"],"duration":11,"failureDetails":[],"failureMessages":[],"fullName":"useApi should throw if context is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if context is null"}],"endTime":1726597228927,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-bootstrap/src/useApi.test.ts","startTime":1726597228045,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":20,"failureDetails":[],"failureMessages":[],"fullName":"renders without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without crashing"},{"ancestorTitles":[],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"copies column header","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"copies column header"},{"ancestorTitles":[],"duration":11,"failureDetails":[],"failureMessages":[],"fullName":"copies immediately if less than 10,000 rows of data","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"copies immediately if less than 10,000 rows of data"},{"ancestorTitles":[],"duration":22,"failureDetails":[],"failureMessages":[],"fullName":"prompts to copy if more than 10,000 rows of data","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"prompts to copy if more than 10,000 rows of data"},{"ancestorTitles":[],"duration":21,"failureDetails":[],"failureMessages":[],"fullName":"shows click to copy if async copy fails","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows click to copy if async copy fails"},{"ancestorTitles":[],"duration":60,"failureDetails":[],"failureMessages":[],"fullName":"retry option available if fetching fails","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"retry option available if fetching fails"},{"ancestorTitles":[],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"shows an error if the copy fails permissions","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows an error if the copy fails permissions"}],"endTime":1726597229006,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/IrisGridCopyHandler.test.tsx","startTime":1726597227806,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["createDefaultIrisGridTheme"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"createDefaultIrisGridTheme should derive the default Iris grid theme","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should derive the default Iris grid theme"}],"endTime":1726597229360,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/IrisGridTheme.test.ts","startTime":1726597228384,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"renders without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without crashing"},{"ancestorTitles":["adds and emits events correctly"],"duration":19,"failureDetails":[],"failureMessages":[],"fullName":"adds and emits events correctly emits a signal when the tab is clicked","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"emits a signal when the tab is clicked"}],"endTime":1726597229412,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/panels/Panel.test.tsx","startTime":1726597228932,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useTable"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"useTable accepts undefined table argument","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"accepts undefined table argument"},{"ancestorTitles":["useTable"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"useTable returns all columns for undefined columnNames","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns all columns for undefined columnNames"},{"ancestorTitles":["useTable"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useTable calls setViewport once on init","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls setViewport once on init"},{"ancestorTitles":["useTable"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useTable calls setViewport on viewport change","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls setViewport on viewport change"},{"ancestorTitles":["useTable"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useTable returns ColumnNameError for non-existing column names","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns ColumnNameError for non-existing column names"},{"ancestorTitles":["useTable"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useTable returns TableDisconnectError for disconnected table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns TableDisconnectError for disconnected table"},{"ancestorTitles":["useTable"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useTable change to an existing column doesn't reset the TableDisconnectError","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"change to an existing column doesn't reset the TableDisconnectError"},{"ancestorTitles":["useTable"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"useTable change to a non-existing column doesn't reset the TableDisconnectError","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"change to a non-existing column doesn't reset the TableDisconnectError"}],"endTime":1726597229447,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useTable.test.ts","startTime":1726597228449,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Does not get contents until a viewport is set","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Does not get contents until a viewport is set"},{"ancestorTitles":["directory expansion tests"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"directory expansion tests expands multiple directories correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"expands multiple directories correctly"}],"endTime":1726597229558,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/app-utils/src/storage/grpc/GrpcFileStorageTable.test.ts","startTime":1726597228637,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["Text"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"Text mounts and unmounts","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts"},{"ancestorTitles":["Text"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"Text renders without color","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without color"},{"ancestorTitles":["Text"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"Text renders with color","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders with color"}],"endTime":1726597229845,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/Text.test.tsx","startTime":1726597229427,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts without failing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts without failing"},{"ancestorTitles":[],"duration":16,"failureDetails":[],"failureMessages":[],"fullName":"focuses default button on first render after opening","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"focuses default button on first render after opening"},{"ancestorTitles":[],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"sets button style based on isConfirmDanger value: true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sets button style based on isConfirmDanger value: true"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"sets button style based on isConfirmDanger value: false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sets button style based on isConfirmDanger value: false"},{"ancestorTitles":[],"duration":13,"failureDetails":[],"failureMessages":[],"fullName":"does not re-focus default button on re-render","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not re-focus default button on re-render"}],"endTime":1726597229865,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/BasicModal.test.tsx","startTime":1726597229017,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["WidgetLoaderPlugin"],"duration":94,"failureDetails":[],"failureMessages":[],"fullName":"WidgetLoaderPlugin Mounts components that should be wrapped","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Mounts components that should be wrapped"},{"ancestorTitles":["WidgetLoaderPlugin"],"duration":45,"failureDetails":[],"failureMessages":[],"fullName":"WidgetLoaderPlugin Mounts components that should not be wrapped","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Mounts components that should not be wrapped"},{"ancestorTitles":["WidgetLoaderPlugin"],"duration":97,"failureDetails":[],"failureMessages":[],"fullName":"WidgetLoaderPlugin Handles plugins with multiple supported types","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Handles plugins with multiple supported types"},{"ancestorTitles":["WidgetLoaderPlugin"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"WidgetLoaderPlugin Ignores unknown widget types","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Ignores unknown widget types"},{"ancestorTitles":["WidgetLoaderPlugin"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"WidgetLoaderPlugin Does not mount if the plugin does not have supportedTypes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Does not mount if the plugin does not have supportedTypes"},{"ancestorTitles":["WidgetLoaderPlugin"],"duration":117,"failureDetails":[],"failureMessages":[],"fullName":"WidgetLoaderPlugin Overrides plugins that handle the same widget type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Overrides plugins that handle the same widget type"},{"ancestorTitles":["component wrapper"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"component wrapper should forward callback refs","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should forward callback refs"},{"ancestorTitles":["component wrapper"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"component wrapper should forward non-callback refs","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should forward non-callback refs"},{"ancestorTitles":["component wrapper"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"component wrapper should not error if no ref passed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not error if no ref passed"}],"endTime":1726597229956,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/WidgetLoaderPlugin.test.tsx","startTime":1726597227707,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":36,"failureDetails":[],"failureMessages":[],"fullName":"renders without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without crashing"}],"endTime":1726597230101,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/panels/ConsolePanel.test.tsx","startTime":1726597229379,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":344,"failureDetails":[],"failureMessages":[],"fullName":"Fires change events","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Fires change events"},{"ancestorTitles":[],"duration":59,"failureDetails":[],"failureMessages":[],"fullName":"Fires delete event","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Fires delete event"},{"ancestorTitles":[],"duration":26,"failureDetails":[],"failureMessages":[],"fullName":"Displays validation errors","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Displays validation errors"}],"endTime":1726597230421,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/sidebar/CustomColumnInput.test.tsx","startTime":1726597228813,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["display modal after debounce"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"display modal after debounce should render the modal after the debounce time has passed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the modal after the debounce time has passed"},{"ancestorTitles":["display modal after debounce"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"display modal after debounce should not block interaction if set to false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not block interaction if set to false"}],"endTime":1726597230471,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/modal/DebouncedModal.test.tsx","startTime":1726597229853,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"pluginSupportsType","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"pluginSupportsType"},{"ancestorTitles":["getIconForPlugin"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getIconForPlugin default icon","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"default icon"},{"ancestorTitles":["getIconForPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getIconForPlugin default icon for non-widget plugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"default icon for non-widget plugin"},{"ancestorTitles":["getIconForPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getIconForPlugin custom icon","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"custom icon"},{"ancestorTitles":["getIconForPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getIconForPlugin custom icon element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"custom icon element"},{"ancestorTitles":["getThemeDataFromPlugins"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getThemeDataFromPlugins should return theme data from plugins","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return theme data from plugins"}],"endTime":1726597230544,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/plugin/src/PluginUtils.test.tsx","startTime":1726597229462,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["unsavedNotebookCount"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"unsavedNotebookCount should return the count of unsaved notebooks: [], 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the count of unsaved notebooks: [], 0"},{"ancestorTitles":["unsavedNotebookCount"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"unsavedNotebookCount should return the count of unsaved notebooks: [ HTMLDivElement {} ], 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the count of unsaved notebooks: [ HTMLDivElement {} ], 0"},{"ancestorTitles":["unsavedNotebookCount"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"unsavedNotebookCount should return the count of unsaved notebooks: [ HTMLDivElement {} ], 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the count of unsaved notebooks: [ HTMLDivElement {} ], 0"},{"ancestorTitles":["unsavedNotebookCount"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"unsavedNotebookCount should return the count of unsaved notebooks: [ HTMLDivElement {} ], 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the count of unsaved notebooks: [ HTMLDivElement {} ], 0"},{"ancestorTitles":["unsavedNotebookCount"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"unsavedNotebookCount should return the count of unsaved notebooks: [ HTMLDivElement {} ], 1","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the count of unsaved notebooks: [ HTMLDivElement {} ], 1"},{"ancestorTitles":["unsavedNotebookCount"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"unsavedNotebookCount should return the count of unsaved notebooks: [ HTMLDivElement {}, HTMLDivElement {} ], 2","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the count of unsaved notebooks: [ HTMLDivElement {}, HTMLDivElement {} ], 2"},{"ancestorTitles":["unsavedNotebookCount"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"unsavedNotebookCount should return the count of unsaved notebooks: [ HTMLDivElement {}, HTMLDivElement {}, HTMLDivElement {} ], 2","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the count of unsaved notebooks: [ HTMLDivElement {}, HTMLDivElement {}, HTMLDivElement {} ], 2"}],"endTime":1726597230740,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/panels/NotebookPanel.test.tsx","startTime":1726597229877,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":34,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts successfully without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts successfully without crashing"}],"endTime":1726597230750,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/file-explorer/src/FileExplorerToolbar.test.tsx","startTime":1726597229570,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":12,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts properly"},{"ancestorTitles":[],"duration":56,"failureDetails":[],"failureMessages":[],"fullName":"trims trailing mask and spaces in the input","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"trims trailing mask and spaces in the input"},{"ancestorTitles":[],"duration":38,"failureDetails":[],"failureMessages":[],"fullName":"adds missing trailing zeros","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds missing trailing zeros"},{"ancestorTitles":[],"duration":35,"failureDetails":[],"failureMessages":[],"fullName":"fills missing time digits with zeros, strips zero-width spaces in onChange","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"fills missing time digits with zeros, strips zero-width spaces in onChange"},{"ancestorTitles":[],"duration":17,"failureDetails":[],"failureMessages":[],"fullName":"does not fill in missing date digits","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not fill in missing date digits"},{"ancestorTitles":["addSeparators"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"addSeparators adds separators between nano/micro/milliseconds","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds separators between nano/micro/milliseconds"},{"ancestorTitles":["addSeparators"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"addSeparators adds only necessary separators","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds only necessary separators"},{"ancestorTitles":[],"duration":20,"failureDetails":[],"failureMessages":[],"fullName":"onSubmit works correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"onSubmit works correctly"}],"endTime":1726597231043,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/DateTimeInput.test.tsx","startTime":1726597230550,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":51,"failureDetails":[],"failureMessages":[],"fullName":"should not delete by calling onClose on left click","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not delete by calling onClose on left click"},{"ancestorTitles":[],"duration":23,"failureDetails":[],"failureMessages":[],"fullName":"should delete by calling onClose on middle click","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should delete by calling onClose on middle click"}],"endTime":1726597231085,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/navigation/NavTab.test.tsx","startTime":1726597230115,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["quickfilters tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quickfilters tests exports/imports empty list","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"exports/imports empty list"},{"ancestorTitles":["quickfilters tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quickfilters tests exports/imports quickFilters","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"exports/imports quickFilters"},{"ancestorTitles":["advanced filter tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"advanced filter tests exports/imports empty list","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"exports/imports empty list"},{"ancestorTitles":["advanced filter tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"advanced filter tests exports advanced filters","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"exports advanced filters"},{"ancestorTitles":["sort exporting/importing"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sort exporting/importing exports/imports empty sort","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"exports/imports empty sort"},{"ancestorTitles":["sort exporting/importing"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sort exporting/importing should export (dehydrate) sorts","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should export (dehydrate) sorts"},{"ancestorTitles":["sort exporting/importing","should import (hydrate) sorts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sort exporting/importing should import (hydrate) sorts current","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"current"},{"ancestorTitles":["sort exporting/importing","should import (hydrate) sorts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sort exporting/importing should import (hydrate) sorts legacy","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"legacy"},{"ancestorTitles":["pendingDataMap hydration/dehydration"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"pendingDataMap hydration/dehydration dehydrates/hydrates empty map","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"dehydrates/hydrates empty map"},{"ancestorTitles":["pendingDataMap hydration/dehydration"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"pendingDataMap hydration/dehydration dehydrates/hydrates pending data","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"dehydrates/hydrates pending data"},{"ancestorTitles":["remove columns in moved columns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"remove columns in moved columns delete the move when the move origin column is removed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"delete the move when the move origin column is removed"},{"ancestorTitles":["remove columns in moved columns"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"remove columns in moved columns alter move origin when a column is removed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"alter move origin when a column is removed"},{"ancestorTitles":["remove columns in moved columns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"remove columns in moved columns delete the move when the move origin column is removed & alter move origin when a column is removed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"delete the move when the move origin column is removed & alter move origin when a column is removed"},{"ancestorTitles":["remove columns in moved columns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"remove columns in moved columns delete the move when the origin and destination column is the same after the removal of a column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"delete the move when the origin and destination column is the same after the removal of a column"},{"ancestorTitles":["remove columns in moved columns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"remove columns in moved columns remove multiple columns - 1","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"remove multiple columns - 1"},{"ancestorTitles":["remove columns in moved columns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"remove columns in moved columns remove multiple columns - 2","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"remove multiple columns - 2"},{"ancestorTitles":["remove columns in moved columns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"remove columns in moved columns remove multiple columns - 3","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"remove multiple columns - 3"},{"ancestorTitles":["getPrevVisibleColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPrevVisibleColumns returns [] for startIndex < 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns [] for startIndex < 0"},{"ancestorTitles":["getPrevVisibleColumns"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getPrevVisibleColumns returns [] for count === 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns [] for count === 0"},{"ancestorTitles":["getPrevVisibleColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPrevVisibleColumns skips hidden columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"skips hidden columns"},{"ancestorTitles":["getNextVisibleColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getNextVisibleColumns returns [] for startIndex >= columns.length","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns [] for startIndex >= columns.length"},{"ancestorTitles":["getNextVisibleColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getNextVisibleColumns returns [] for count === 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns [] for count === 0"},{"ancestorTitles":["getNextVisibleColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getNextVisibleColumns skips hidden columns 2","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"skips hidden columns 2"},{"ancestorTitles":["validate copy ranges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"validate copy ranges returns false for empty ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns false for empty ranges"},{"ancestorTitles":["validate copy ranges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"validate copy ranges returns true for single cells","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for single cells"},{"ancestorTitles":["validate copy ranges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"validate copy ranges returns true for single range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for single range"},{"ancestorTitles":["validate copy ranges"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"validate copy ranges returns true for range with full column or row selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for range with full column or row selection"},{"ancestorTitles":["validate copy ranges"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"validate copy ranges returns true for multiple ranges with the same start/end rows","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for multiple ranges with the same start/end rows"},{"ancestorTitles":["validate copy ranges"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"validate copy ranges returns true for multiple ranges with the same start/end columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for multiple ranges with the same start/end columns"},{"ancestorTitles":["validate copy ranges"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"validate copy ranges returns false for multiple ranges without the same start/end rows or columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns false for multiple ranges without the same start/end rows or columns"},{"ancestorTitles":["validate copy ranges"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"validate copy ranges returns true for multiple ranges with multiple start/end columns and rows that match","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for multiple ranges with multiple start/end columns and rows that match"},{"ancestorTitles":["changeFilterColumnNamesToIndexes"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"changeFilterColumnNamesToIndexes Replaces column names with indexes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Replaces column names with indexes"},{"ancestorTitles":["changeFilterColumnNamesToIndexes"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"changeFilterColumnNamesToIndexes Omits missing columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Omits missing columns"},{"ancestorTitles":["combineFiltersFromList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"combineFiltersFromList returns an empty string for an empty list","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns an empty string for an empty list"},{"ancestorTitles":["combineFiltersFromList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"combineFiltersFromList disjunctively combines eq operators","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"disjunctively combines eq operators"},{"ancestorTitles":["combineFiltersFromList"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"combineFiltersFromList conjunctively combines non-eq operators","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"conjunctively combines non-eq operators"},{"ancestorTitles":["combineFiltersFromList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"combineFiltersFromList combines eq and non-eq operators, moving all eq to the end","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"combines eq and non-eq operators, moving all eq to the end"},{"ancestorTitles":["combineFiltersFromList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"combineFiltersFromList orders conj. and disj. sections separately based on start column index","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"orders conj. and disj. sections separately based on start column index"},{"ancestorTitles":["combineFiltersFromList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"combineFiltersFromList handles null values correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles null values correctly"},{"ancestorTitles":["combineFiltersFromList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"combineFiltersFromList skips undefined values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"skips undefined values"},{"ancestorTitles":["combineFiltersFromList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"combineFiltersFromList returns the char character rather than Unicode value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the char character rather than Unicode value"},{"ancestorTitles":["convert string to text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"convert string to text converts null to empty string","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts null to empty string"},{"ancestorTitles":["convert string to text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"convert string to text converts empty string","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts empty string"},{"ancestorTitles":["convert string to text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"convert string to text converts string to stri","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts string to stri"},{"ancestorTitles":["convert string to text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"convert string to text converts length 1 string to stri","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts length 1 string to stri"},{"ancestorTitles":["convert string to text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"convert string to text converts number to strin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts number to strin"},{"ancestorTitles":["convert char to text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"convert char to text converts number to ascii","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts number to ascii"},{"ancestorTitles":["convert char to text"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"convert char to text converts null to empty char","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts null to empty char"},{"ancestorTitles":["convert other column types to text"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"convert other column types to text converts number to string on number column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts number to string on number column"},{"ancestorTitles":["convert other column types to text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"convert other column types to text converts null to empty string on number column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts null to empty string on number column"},{"ancestorTitles":["convert other column types to text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"convert other column types to text converts time correctly on datetime column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts time correctly on datetime column"},{"ancestorTitles":["dehydration methods"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"dehydration methods dehydrateIrisGridPanelState should be serializable","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"dehydrateIrisGridPanelState should be serializable"},{"ancestorTitles":["dehydration methods"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"dehydration methods dehydrateIrisGridState should be serializable","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"dehydrateIrisGridState should be serializable"},{"ancestorTitles":["hydration methods"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hydration methods hydrateIrisGridPanelStateV1 null partition partitions and columns match","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"hydrateIrisGridPanelStateV1 null partition partitions and columns match"},{"ancestorTitles":["hydration methods"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"hydration methods hydrateIrisGridPanelStateV1 one selected partition partitions and columns match","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"hydrateIrisGridPanelStateV1 one selected partition partitions and columns match"},{"ancestorTitles":["hydration methods"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hydration methods hydrateIrisGridPanelStateV2 no partition columns partitions and columns match","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"hydrateIrisGridPanelStateV2 no partition columns partitions and columns match"},{"ancestorTitles":["hydration methods"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hydration methods hydrateIrisGridPanelStateV2 two unselected columns partitions and columns match","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"hydrateIrisGridPanelStateV2 two unselected columns partitions and columns match"},{"ancestorTitles":["hydration methods"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hydration methods hydrateIrisGridPanelStateV2 two selected columns partitions and columns match","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"hydrateIrisGridPanelStateV2 two selected columns partitions and columns match"},{"ancestorTitles":["hydration methods"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hydration methods hydrateIrisGridPanelStateV2 mixed selection columns partitions and columns match","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"hydrateIrisGridPanelStateV2 mixed selection columns partitions and columns match"},{"ancestorTitles":["hydration methods"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hydration methods hydrateIrisGridPanelStateV2 mixed selection columns partitions and columns match","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"hydrateIrisGridPanelStateV2 mixed selection columns partitions and columns match"}],"endTime":1726597231104,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/IrisGridUtils.test.ts","startTime":1726597230764,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts without crashing"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"unmounts while still resolving a table successfully","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"unmounts while still resolving a table successfully"},{"ancestorTitles":[],"duration":20,"failureDetails":[],"failureMessages":[],"fullName":"shows the loading spinner until grid is ready","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows the loading spinner until grid is ready"},{"ancestorTitles":[],"duration":22,"failureDetails":[],"failureMessages":[],"fullName":"shows an error properly if table loading fails","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows an error properly if table loading fails"}],"endTime":1726597231195,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/panels/IrisGridPanel.test.tsx","startTime":1726597230429,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"renders without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without crashing"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"does not show a dropdown menu when there are no actions","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not show a dropdown menu when there are no actions"},{"ancestorTitles":[],"duration":109,"failureDetails":[],"failureMessages":[],"fullName":"dropdown menu disappears on toggle","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"dropdown menu disappears on toggle"}],"endTime":1726597231202,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/ConsoleStatusBar.test.tsx","startTime":1726597229968,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["wrapIcon"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"wrapIcon should wrap icon key with Icon: vsAccount","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should wrap icon key with Icon: vsAccount"},{"ancestorTitles":["wrapIcon"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"wrapIcon should wrap icon key with Icon: nonExisting","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should wrap icon key with Icon: nonExisting"},{"ancestorTitles":["wrapIcon"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"wrapIcon should wrap icon key with Icon: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should wrap icon key with Icon: null"},{"ancestorTitles":["wrapIcon"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"wrapIcon should wrap icon key with Icon: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should wrap icon key with Icon: undefined"},{"ancestorTitles":["wrapIcon"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"wrapIcon should return given content if not a string","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return given content if not a string"},{"ancestorTitles":["wrapItemChildren: null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"wrapItemChildren: null should wrap primitives with Item elements","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should wrap primitives with Item elements"},{"ancestorTitles":["wrapItemChildren: { placement: 'top' }"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"wrapItemChildren: { placement: 'top' } should wrap primitives with Item elements","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should wrap primitives with Item elements"},{"ancestorTitles":["wrapPrimitiveWithText"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"wrapPrimitiveWithText should wrap primitive with Text element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should wrap primitive with Text element"},{"ancestorTitles":["wrapPrimitiveWithText"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"wrapPrimitiveWithText should return content if it is not a primitive type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return content if it is not a primitive type"},{"ancestorTitles":["wrapPrimitiveWithText"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"wrapPrimitiveWithText should wrap   if given empty content: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should wrap   if given empty content: null"},{"ancestorTitles":["wrapPrimitiveWithText"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"wrapPrimitiveWithText should wrap   if given empty content: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should wrap   if given empty content: undefined"},{"ancestorTitles":["wrapPrimitiveWithText"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"wrapPrimitiveWithText should wrap   if given empty content: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should wrap   if given empty content: "}],"endTime":1726597231219,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/utils/itemWrapperUtils.test.tsx","startTime":1726597230749,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["sanitizeVariableDescriptor"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"sanitizeVariableDescriptor should return the id if both name and id provided","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the id if both name and id provided"},{"ancestorTitles":["sanitizeVariableDescriptor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sanitizeVariableDescriptor should return the name if no id provided","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the name if no id provided"},{"ancestorTitles":["sanitizeVariableDescriptor"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"sanitizeVariableDescriptor should return the id if no name provided","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the id if no name provided"},{"ancestorTitles":["sanitizeVariableDescriptor"],"duration":11,"failureDetails":[],"failureMessages":[],"fullName":"sanitizeVariableDescriptor should throw if neither name nor id provided","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if neither name nor id provided"},{"ancestorTitles":["sanitizeVariableDescriptor"],"duration":17,"failureDetails":[],"failureMessages":[],"fullName":"sanitizeVariableDescriptor should throw if the type is not provided","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if the type is not provided"},{"ancestorTitles":["getVariableDescriptor"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getVariableDescriptor should return the descriptor for {\"id\": \"id\", \"name\": \"name\", \"type\": \"type\"}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the descriptor for {\"id\": \"id\", \"name\": \"name\", \"type\": \"type\"}"},{"ancestorTitles":["getVariableDescriptor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getVariableDescriptor should return the descriptor for {\"title\": \"title\", \"type\": \"type\"}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the descriptor for {\"title\": \"title\", \"type\": \"type\"}"},{"ancestorTitles":["getVariableDescriptor"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"getVariableDescriptor should return the descriptor for {\"id\": \"id\", \"name\": \"name\", \"title\": \"title\", \"type\": \"type\"}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the descriptor for {\"id\": \"id\", \"name\": \"name\", \"title\": \"title\", \"type\": \"type\"}"},{"ancestorTitles":["getVariableDescriptor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getVariableDescriptor should return the descriptor for {\"name\": \"name\", \"title\": \"title\", \"type\": \"type\"}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the descriptor for {\"name\": \"name\", \"title\": \"title\", \"type\": \"type\"}"},{"ancestorTitles":["getVariableDescriptor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getVariableDescriptor should return the descriptor for {\"name\": \"name\", \"type\": \"type\"}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the descriptor for {\"name\": \"name\", \"type\": \"type\"}"},{"ancestorTitles":["getVariableDescriptor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getVariableDescriptor should return the descriptor for {\"id\": \"id\", \"type\": \"type\"}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the descriptor for {\"id\": \"id\", \"type\": \"type\"}"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should resolve the fetcher when set in the context","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve the fetcher when set in the context"},{"ancestorTitles":[],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"throws an error if the context is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws an error if the context is null"}],"endTime":1726597231422,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-bootstrap/src/useObjectFetcher.test.ts","startTime":1726597231223,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useStaticItemInitialScrollPosition: selectedKey: %s"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"useStaticItemInitialScrollPosition: selectedKey: %s should return a function that returns the initial scroll position for item only collections: [], undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that returns the initial scroll position for item only collections: [], undefined"},{"ancestorTitles":["useStaticItemInitialScrollPosition: selectedKey: %s"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useStaticItemInitialScrollPosition: selectedKey: %s should return a function that returns the initial scroll position for item only collections: [ [Object], [Object] ], undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that returns the initial scroll position for item only collections: [ [Object], [Object] ], undefined"},{"ancestorTitles":["useStaticItemInitialScrollPosition: selectedKey: %s"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useStaticItemInitialScrollPosition: selectedKey: %s should return a function that returns the initial scroll position for item only collections: [ [Object], [Object], [Object], [Object], [Object] ], undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that returns the initial scroll position for item only collections: [ [Object], [Object], [Object], [Object], [Object] ], undefined"},{"ancestorTitles":["useStaticItemInitialScrollPosition: selectedKey: %s"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useStaticItemInitialScrollPosition: selectedKey: %s should return a function that returns the initial scroll position for item only collections: [], selected.key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that returns the initial scroll position for item only collections: [], selected.key"},{"ancestorTitles":["useStaticItemInitialScrollPosition: selectedKey: %s"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useStaticItemInitialScrollPosition: selectedKey: %s should return a function that returns the initial scroll position for item only collections: [ [Object], [Object] ], selected.key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that returns the initial scroll position for item only collections: [ [Object], [Object] ], selected.key"},{"ancestorTitles":["useStaticItemInitialScrollPosition: selectedKey: %s"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useStaticItemInitialScrollPosition: selectedKey: %s should return a function that returns the initial scroll position for item only collections: [ [Object], [Object], [Object], [Object], [Object] ], selected.key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that returns the initial scroll position for item only collections: [ [Object], [Object], [Object], [Object], [Object] ], selected.key"}],"endTime":1726597231695,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/utils/useStaticItemInitialScrollPosition.test.tsx","startTime":1726597231103,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":44,"failureDetails":[],"failureMessages":[],"fullName":"resets select when reset button is pressed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"resets select when reset button is pressed"}],"endTime":1726597231744,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/sidebar/aggregations/AggregationEdit.test.tsx","startTime":1726597231055,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useStringifiedMultiSelection"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useStringifiedMultiSelection should stringify selections","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should stringify selections"},{"ancestorTitles":["useStringifiedMultiSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useStringifiedMultiSelection should call onChange with 'all' or actual keys","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call onChange with 'all' or actual keys"},{"ancestorTitles":["useStringifiedMultiSelection"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useStringifiedMultiSelection should call onChange with 'all' or actual keys","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call onChange with 'all' or actual keys"}],"endTime":1726597231748,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/utils/useStringifiedMultiSelection.test.ts","startTime":1726597231256,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":27,"failureDetails":[],"failureMessages":[],"fullName":"unmounts successfully without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"unmounts successfully without crashing"},{"ancestorTitles":[],"duration":9,"failureDetails":[],"failureMessages":[],"fullName":"should display multiple selectors to match columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should display multiple selectors to match columns"}],"endTime":1726597231814,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/IrisGridPartitionSelector.test.tsx","startTime":1726597231209,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":28,"failureDetails":[],"failureMessages":[],"fullName":"renders without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without crashing"},{"ancestorTitles":[],"duration":46,"failureDetails":[],"failureMessages":[],"fullName":"downloads properly with default settings","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"downloads properly with default settings"},{"ancestorTitles":[],"duration":71,"failureDetails":[],"failureMessages":[],"fullName":"cancels download when something goes wrong","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"cancels download when something goes wrong"}],"endTime":1726597231820,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/sidebar/TableCsvExporter.test.tsx","startTime":1726597230505,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":112,"failureDetails":[],"failureMessages":[],"fullName":"mounts and renders correct comparison operators for strings","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and renders correct comparison operators for strings"},{"ancestorTitles":[],"duration":12,"failureDetails":[],"failureMessages":[],"fullName":"renders correct symbol for endsWith","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders correct symbol for endsWith"},{"ancestorTitles":[],"duration":78,"failureDetails":[],"failureMessages":[],"fullName":"mounts and renders correct comparison operators for numbers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and renders correct comparison operators for numbers"},{"ancestorTitles":[],"duration":81,"failureDetails":[],"failureMessages":[],"fullName":"mounts and renders correct comparison operators for date/time","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and renders correct comparison operators for date/time"},{"ancestorTitles":[],"duration":63,"failureDetails":[],"failureMessages":[],"fullName":"mounts and renders correct comparison operators for booleans","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and renders correct comparison operators for booleans"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"returns an empty label for invalid column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns an empty label for invalid column type"},{"ancestorTitles":[],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"calls onClick when the link is clicked and onDelete on alt-click and button press","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls onClick when the link is clicked and onDelete on alt-click and button press"}],"endTime":1726597231975,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/linker/LinkerLink.test.tsx","startTime":1726597231124,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts without crashing"}],"endTime":1726597232010,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/panels/PanelContextMenu.test.tsx","startTime":1726597231438,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"groups the axes by type properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"groups the axes by type properly"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returns a newly composed layout object each time","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns a newly composed layout object each time"},{"ancestorTitles":["date format string translations"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"date format string translations converts date format strings properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts date format strings properly"},{"ancestorTitles":["date format string translations"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"date format string translations converts day of week properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts day of week properly"},{"ancestorTitles":["date format string translations"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"date format string translations strips out the timezone properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"strips out the timezone properly"},{"ancestorTitles":["date format string translations"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"date format string translations converts the T separator properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts the T separator properly"},{"ancestorTitles":["number format string translations"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"number format string translations converts number format strings properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts number format strings properly"},{"ancestorTitles":["number format string translations"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"number format string translations handles % properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles % properly"},{"ancestorTitles":["number format string translations"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"number format string translations handles exponential notation properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles exponential notation properly"},{"ancestorTitles":["number format string translations"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"number format string translations handles the currency prefix properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles the currency prefix properly"},{"ancestorTitles":["number format string translations"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"number format string translations handles the currency symbol properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles the currency symbol properly"},{"ancestorTitles":["number format string translations"],"duration":11,"failureDetails":[],"failureMessages":[],"fullName":"number format string translations handles ignores negative subpatterns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles ignores negative subpatterns"},{"ancestorTitles":["updating layout axes"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"updating layout axes adds new axes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds new axes"},{"ancestorTitles":["updating layout axes"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"updating layout axes keeps the same axis objects, updates domain","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"keeps the same axis objects, updates domain"},{"ancestorTitles":["updating layout axes"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"updating layout axes removes stale axes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"removes stale axes"},{"ancestorTitles":["updating layout axes","multiple axes"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"updating layout axes multiple axes gets the chart bounds correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"gets the chart bounds correctly"},{"ancestorTitles":["updating layout axes","multiple axes"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"updating layout axes multiple axes positions multiple axes on the same side correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"positions multiple axes on the same side correctly"},{"ancestorTitles":["handles subplots and columns/rows correctly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"handles subplots and columns/rows correctly handles row location correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles row location correctly"},{"ancestorTitles":["handles subplots and columns/rows correctly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"handles subplots and columns/rows correctly handles column location correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles column location correctly"},{"ancestorTitles":["handles subplots and columns/rows correctly"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"handles subplots and columns/rows correctly handles colspan","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles colspan"},{"ancestorTitles":["handles subplots and columns/rows correctly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"handles subplots and columns/rows correctly handles rowspan","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles rowspan"},{"ancestorTitles":["returns the axis layout ranges properly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returns the axis layout ranges properly handles empty","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles empty"},{"ancestorTitles":["returns the axis layout ranges properly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returns the axis layout ranges properly handles one x-axis","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles one x-axis"},{"ancestorTitles":["returns the axis layout ranges properly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returns the axis layout ranges properly handles x/y-axis","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles x/y-axis"},{"ancestorTitles":["returns the axis layout ranges properly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returns the axis layout ranges properly handles multiple y-axes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles multiple y-axes"},{"ancestorTitles":["returns the axis layout ranges properly"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returns the axis layout ranges properly handles multiple x/y-axes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles multiple x/y-axes"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"converts a period time to decimal correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts a period time to decimal correctly"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"creates correct bounds from business days","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"creates correct bounds from business days"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"creates range breaks from holidays correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"creates range breaks from holidays correctly"},{"ancestorTitles":["axis property name"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"axis property name gets x/y axis property names correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"gets x/y axis property names correctly"},{"ancestorTitles":["axis property name"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"axis property name returns null for all other properties","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns null for all other properties"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected scatter plotly type for null null markers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected scatter plotly type for null null markers"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected scatter plotly type for null false undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected scatter plotly type for null false undefined"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected scatter plotly type for null true markers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected scatter plotly type for null true markers"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected scatter plotly type for false null markers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected scatter plotly type for false null markers"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected scatter plotly type for false false undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected scatter plotly type for false false undefined"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected scatter plotly type for false true markers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected scatter plotly type for false true markers"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected scatter plotly type for true null lines+markers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected scatter plotly type for true null lines+markers"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected scatter plotly type for true false lines","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected scatter plotly type for true false lines"},{"ancestorTitles":["getPlotlyChartMode"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected scatter plotly type for true true lines+markers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected scatter plotly type for true true lines+markers"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected line plotly type for null null lines","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected line plotly type for null null lines"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected line plotly type for null false lines","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected line plotly type for null false lines"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected line plotly type for null true lines+markers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected line plotly type for null true lines+markers"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected line plotly type for false null undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected line plotly type for false null undefined"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected line plotly type for false false undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected line plotly type for false false undefined"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected line plotly type for false true markers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected line plotly type for false true markers"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected line plotly type for true null lines","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected line plotly type for true null lines"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected line plotly type for true false lines","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected line plotly type for true false lines"},{"ancestorTitles":["getPlotlyChartMode"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPlotlyChartMode returns the expected line plotly type for true true lines+markers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the expected line plotly type for true true lines+markers"},{"ancestorTitles":["getMarkerSymbol"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getMarkerSymbol returns valid shapes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns valid shapes"},{"ancestorTitles":["getMarkerSymbol"],"duration":30,"failureDetails":[],"failureMessages":[],"fullName":"getMarkerSymbol throws on invalid shapes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws on invalid shapes"},{"ancestorTitles":["makeDefaultTemplate"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeDefaultTemplate should create a default template","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a default template"}],"endTime":1726597232054,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/chart/src/ChartUtils.test.ts","startTime":1726597231753,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useGetItemIndexByValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemIndexByValue should return `null` if the table or value is `null`: table: {\n [Symbol(mockProxyType)]: 'Mock Proxy',\n [Symbol(mockProxyDefaultProps)]: [Object],\n [Symbol(mockProxyOverrides)]: {},\n [Symbol(mockProxyProxies)]: {}\n}, value: \"null\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return `null` if the table or value is `null`: table: {\n [Symbol(mockProxyType)]: 'Mock Proxy',\n [Symbol(mockProxyDefaultProps)]: [Object],\n [Symbol(mockProxyOverrides)]: {},\n [Symbol(mockProxyProxies)]: {}\n}, value: \"null\""},{"ancestorTitles":["useGetItemIndexByValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemIndexByValue should return `null` if the table or value is `null`: table: null, value: \"mock.value\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return `null` if the table or value is `null`: table: null, value: \"mock.value\""},{"ancestorTitles":["useGetItemIndexByValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemIndexByValue should throw if seekRow fails","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if seekRow fails"},{"ancestorTitles":["useGetItemIndexByValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemIndexByValue should return a function that returns the index of the first row containing a column value or `null` if a row is not found: mock.value, 42, 42","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that returns the index of the first row containing a column value or `null` if a row is not found: mock.value, 42, 42"},{"ancestorTitles":["useGetItemIndexByValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemIndexByValue should return a function that returns the index of the first row containing a column value or `null` if a row is not found: mock.value, -1, null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that returns the index of the first row containing a column value or `null` if a row is not found: mock.value, -1, null"}],"endTime":1726597232296,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useGetItemIndexByValue.test.ts","startTime":1726597231753,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["move items"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"move items returns the proper model/visible index when one column is moved","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the proper model/visible index when one column is moved"},{"ancestorTitles":["move items"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"move items returns the proper model/visible index when one column is moved","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the proper model/visible index when one column is moved"},{"ancestorTitles":["move items"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"move items returns the proper model/visible index when two columns are moved","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the proper model/visible index when two columns are moved"},{"ancestorTitles":["move items"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"move items handles moving the last column to the front repeatedly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles moving the last column to the front repeatedly"},{"ancestorTitles":["move items"],"duration":21,"failureDetails":[],"failureMessages":[],"fullName":"move items condenses moving 1 column multiple times in a row","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"condenses moving 1 column multiple times in a row"},{"ancestorTitles":["move items"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"move items skips moving an item to its original position","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"skips moving an item to its original position"},{"ancestorTitles":["move ranges"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"move ranges returns the proper model/visible index when one range is moved","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the proper model/visible index when one range is moved"},{"ancestorTitles":["move ranges"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"move ranges returns the proper model/visible index when two ranges are moved","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the proper model/visible index when two ranges are moved"},{"ancestorTitles":["move ranges"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"move ranges condenses moving 1 range multiple times in a row","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"condenses moving 1 range multiple times in a row"},{"ancestorTitles":["move ranges"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"move ranges skips moving an item to its original position","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"skips moving an item to its original position"},{"ancestorTitles":["move ranges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"move ranges converts a move range of 1 item to a move item","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts a move range of 1 item to a move item"},{"ancestorTitles":["move item or range"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"move item or range returns the proper model/visible index when one item or range is moved","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the proper model/visible index when one item or range is moved"},{"ancestorTitles":["iterate floating tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"iterate floating tests does not iterate if no floating items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not iterate if no floating items"},{"ancestorTitles":["iterate floating tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"iterate floating tests iterates floating items correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"iterates floating items correctly"},{"ancestorTitles":["iterate floating tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"iterate floating tests iterates visible items correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"iterates visible items correctly"},{"ancestorTitles":["iterate floating tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"iterate floating tests iterates visible and floating items correctly, floating first","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"iterates visible and floating items correctly, floating first"},{"ancestorTitles":["iterate floating tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"iterate floating tests stops when a value is returned from the callback","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"stops when a value is returned from the callback"},{"ancestorTitles":["floating item checks"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"floating item checks checks floating rows correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"checks floating rows correctly"},{"ancestorTitles":["floating item checks"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"floating item checks checks floating rows correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"checks floating rows correctly"},{"ancestorTitles":["start/end range adjustment in one dimension visible to model"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension visible to model handles no transforms","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles no transforms"},{"ancestorTitles":["start/end range adjustment in one dimension visible to model"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension visible to model handles transforms outside of range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles transforms outside of range"},{"ancestorTitles":["start/end range adjustment in one dimension visible to model"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension visible to model handles items moved into the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles items moved into the range"},{"ancestorTitles":["start/end range adjustment in one dimension visible to model"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension visible to model handles items moved outside the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles items moved outside the range"},{"ancestorTitles":["start/end range adjustment in one dimension visible to model"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension visible to model handles items moved from before to after range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles items moved from before to after range"},{"ancestorTitles":["start/end range adjustment in one dimension visible to model"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension visible to model handles items moved from after to before range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles items moved from after to before range"},{"ancestorTitles":["start/end range adjustment in one dimension visible to model"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension visible to model handles multiple operations","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles multiple operations"},{"ancestorTitles":["start/end range adjustment in one dimension visible to model"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension visible to model handles moves within the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles moves within the range"},{"ancestorTitles":["start/end range adjustment in one dimension visible to model"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension visible to model handles transforms with infinite ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles transforms with infinite ranges"},{"ancestorTitles":["start/end range adjustment in one dimension model to visible"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension model to visible handles no transforms","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles no transforms"},{"ancestorTitles":["start/end range adjustment in one dimension model to visible"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension model to visible handles transforms outside of range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles transforms outside of range"},{"ancestorTitles":["start/end range adjustment in one dimension model to visible"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension model to visible handles items moved into the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles items moved into the range"},{"ancestorTitles":["start/end range adjustment in one dimension model to visible"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension model to visible handles items moved outside the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles items moved outside the range"},{"ancestorTitles":["start/end range adjustment in one dimension model to visible"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension model to visible handles items moved from before to after range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles items moved from before to after range"},{"ancestorTitles":["start/end range adjustment in one dimension model to visible"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension model to visible handles items moved from after to before range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles items moved from after to before range"},{"ancestorTitles":["start/end range adjustment in one dimension model to visible"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension model to visible handles multiple operations","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles multiple operations"},{"ancestorTitles":["start/end range adjustment in one dimension model to visible"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension model to visible handles moves within the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles moves within the range"},{"ancestorTitles":["start/end range adjustment in one dimension model to visible"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"start/end range adjustment in one dimension model to visible handles transforms with infinite ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles transforms with infinite ranges"},{"ancestorTitles":["Move ranges of items"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Move ranges of items handles transforms outside of range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles transforms outside of range"},{"ancestorTitles":["Move ranges of items"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Move ranges of items handles items moved into the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles items moved into the range"},{"ancestorTitles":["Move ranges of items"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"Move ranges of items handles items moved outside the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles items moved outside the range"},{"ancestorTitles":["Move ranges of items"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"Move ranges of items handles ranges moved from before to after range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles ranges moved from before to after range"},{"ancestorTitles":["Move ranges of items"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Move ranges of items handles ranges moved that contain the target range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles ranges moved that contain the target range"},{"ancestorTitles":["Move ranges of items"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Move ranges of items handles multiple operations","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles multiple operations"},{"ancestorTitles":["grid range transforms with moved items in both dimensions visible to model"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"grid range transforms with moved items in both dimensions visible to model handles no transformations","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles no transformations"},{"ancestorTitles":["grid range transforms with moved items in both dimensions visible to model"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"grid range transforms with moved items in both dimensions visible to model handles transformations that do not affect the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles transformations that do not affect the range"},{"ancestorTitles":["grid range transforms with moved items in both dimensions visible to model"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"grid range transforms with moved items in both dimensions visible to model handles moving items into the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles moving items into the range"},{"ancestorTitles":["grid range transforms with moved items in both dimensions visible to model"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"grid range transforms with moved items in both dimensions visible to model handles multiple ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles multiple ranges"},{"ancestorTitles":["grid range transforms with moved items in both dimensions model to visible"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"grid range transforms with moved items in both dimensions model to visible handles no transformations","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles no transformations"},{"ancestorTitles":["grid range transforms with moved items in both dimensions model to visible"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"grid range transforms with moved items in both dimensions model to visible handles transformations that do not affect the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles transformations that do not affect the range"},{"ancestorTitles":["grid range transforms with moved items in both dimensions model to visible"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"grid range transforms with moved items in both dimensions model to visible handles moving items into the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles moving items into the range"},{"ancestorTitles":["grid range transforms with moved items in both dimensions model to visible"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"grid range transforms with moved items in both dimensions model to visible handles multiple ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles multiple ranges"},{"ancestorTitles":["compareRange function works"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"compareRange function works returns negative when first range's start is before the second","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns negative when first range's start is before the second"},{"ancestorTitles":["compareRange function works"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"compareRange function works returns negative when first range's end is before the second","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns negative when first range's end is before the second"},{"ancestorTitles":["compareRange function works"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"compareRange function works returns positive when first range is after the second","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns positive when first range is after the second"},{"ancestorTitles":["compareRange function works"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"compareRange function works returns 0 when the ranges are the same","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns 0 when the ranges are the same"},{"ancestorTitles":["for each"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"for each works on a single array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"works on a single array"},{"ancestorTitles":["for each"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"for each works on a non-overlapping array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"works on a non-overlapping array"},{"ancestorTitles":["for each"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"for each works on a all overlapping array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"works on a all overlapping array"},{"ancestorTitles":["for each"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"for each works on a partially overlapping array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"works on a partially overlapping array"},{"ancestorTitles":["translateTokenBox"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"translateTokenBox should translate coordinates that are relative to gridX/gridY to relative to the canvas","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should translate coordinates that are relative to gridX/gridY to relative to the canvas"}],"endTime":1726597232319,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/grid/src/GridUtils.test.ts","startTime":1726597232065,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts successfully without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts successfully without crashing"},{"ancestorTitles":["renders the appropriate text and buttons based on columns"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"renders the appropriate text and buttons based on columns no waiting filters and no waiting input","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"no waiting filters and no waiting input"},{"ancestorTitles":["renders the appropriate text and buttons based on columns"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"renders the appropriate text and buttons based on columns waiting filters and no waiting input","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"waiting filters and no waiting input"},{"ancestorTitles":["renders the appropriate text and buttons based on columns"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"renders the appropriate text and buttons based on columns no waiting filters and waiting input","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"no waiting filters and waiting input"},{"ancestorTitles":["renders the appropriate text and buttons based on columns"],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"renders the appropriate text and buttons based on columns waiting filters and waiting input","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"waiting filters and waiting input"}],"endTime":1726597232346,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard-core-plugins/src/panels/ChartFilterOverlay.test.tsx","startTime":1726597231828,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"renders a button for each action","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders a button for each action"},{"ancestorTitles":[],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"calls action callback on button click","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls action callback on button click"}],"endTime":1726597232482,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/command-history/CommandHistoryActions.test.tsx","startTime":1726597231987,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":30,"failureDetails":[],"failureMessages":[],"fullName":"correctly checks for integer","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"correctly checks for integer"},{"ancestorTitles":[],"duration":29,"failureDetails":[],"failureMessages":[],"fullName":"correctly checks for long","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"correctly checks for long"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"correctly checks for double","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"correctly checks for double"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"correctly checks for boolean","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"correctly checks for boolean"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"correctly checks for date time","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"correctly checks for date time"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"correctly checks for local time","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"correctly checks for local time"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"does not change type on null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not change type on null"},{"ancestorTitles":[],"duration":31,"failureDetails":[],"failureMessages":[],"fullName":"correctly determines type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"correctly determines type"}],"endTime":1726597232543,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/csv/CsvTypeParser.test.ts","startTime":1726597232359,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should return 0 if no table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return 0 if no table"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should return 0 if no table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return 0 if no table"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return the size of the given table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the size of the given table"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should re-render if dh.Table.EVENT_SIZECHANGED event occurs","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should re-render if dh.Table.EVENT_SIZECHANGED event occurs"}],"endTime":1726597232684,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useTableSize.test.ts","startTime":1726597231716,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"should return a function that debounces search filtering","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that debounces search filtering"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return a function that debounces search filtering","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that debounces search filtering"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return a function that safely ignores no table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that safely ignores no table"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should trim search text","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trim search text"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should pass apply empty filter if search text is empty","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass apply empty filter if search text is empty"},{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"should pass apply empty filter if search text is empty","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass apply empty filter if search text is empty"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"should cancel debounce on unmount","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should cancel debounce on unmount"}],"endTime":1726597232917,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useDebouncedViewportSearch.test.tsx","startTime":1726597231827,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"mounts","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"does not render when isOpen is false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not render when isOpen is false"},{"ancestorTitles":[],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"renders when isOpen is true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders when isOpen is true"},{"ancestorTitles":[],"duration":17,"failureDetails":[],"failureMessages":[],"fullName":"renders when isOpen changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders when isOpen changes"},{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"calls toggle when esc key is pressed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls toggle when esc key is pressed"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"does not calls toggle when esc key is pressed when keyboard is false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not calls toggle when esc key is pressed when keyboard is false"},{"ancestorTitles":[],"duration":47,"failureDetails":[],"failureMessages":[],"fullName":"closes only when clicking outside the modal","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"closes only when clicking outside the modal"},{"ancestorTitles":[],"duration":19,"failureDetails":[],"failureMessages":[],"fullName":"does not close on mouseUp outside the modal when initiated from inside the modal","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not close on mouseUp outside the modal when initiated from inside the modal"},{"ancestorTitles":[],"duration":23,"failureDetails":[],"failureMessages":[],"fullName":"does not close when clicking outside when clickOutside is false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not close when clicking outside when clickOutside is false"},{"ancestorTitles":[],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"calls onOpen when opens","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls onOpen when opens"}],"endTime":1726597232967,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/modal/Modal.test.tsx","startTime":1726597232022,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useTheme"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useTheme should return theme context value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return theme context value"},{"ancestorTitles":["useTheme"],"duration":9,"failureDetails":[],"failureMessages":[],"fullName":"useTheme should throw if context is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if context is null"}],"endTime":1726597232993,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/theme/useTheme.test.ts","startTime":1726597232327,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should return a TableUtils instance based on the current dh api context","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a TableUtils instance based on the current dh api context"}],"endTime":1726597233218,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useTableUtils.test.tsx","startTime":1726597232699,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useShowOnlyEmptyFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useShowOnlyEmptyFilter should create a filter condition factory from column names and whether is on: true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a filter condition factory from column names and whether is on: true"},{"ancestorTitles":["useShowOnlyEmptyFilter"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"useShowOnlyEmptyFilter should create a filter condition factory from column names and whether is on: false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a filter condition factory from column names and whether is on: false"}],"endTime":1726597233266,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useShowOnlyEmptyFilter.test.ts","startTime":1726597232330,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":26,"failureDetails":[],"failureMessages":[],"fullName":"renders without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without crashing"}],"endTime":1726597233375,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/AdvancedFilterCreator.test.tsx","startTime":1726597232491,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"should return the initial value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the initial value"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return the initial value after the debounce time has elapsed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the initial value after the debounce time has elapsed"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return the updated value after the debounce time has elapsed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the updated value after the debounce time has elapsed"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should not return an intermediate value if the debounce time has not elapsed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not return an intermediate value if the debounce time has not elapsed"}],"endTime":1726597233389,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useDebouncedValue.test.ts","startTime":1726597233233,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useStringifiedSelection"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useStringifiedSelection should return null or undefined for null or undefined keys: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null or undefined for null or undefined keys: null"},{"ancestorTitles":["useStringifiedSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useStringifiedSelection should return null or undefined for null or undefined keys: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null or undefined for null or undefined keys: undefined"},{"ancestorTitles":["useStringifiedSelection"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useStringifiedSelection should stringify selections","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should stringify selections"},{"ancestorTitles":["useStringifiedSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useStringifiedSelection should call onChange with actual key: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call onChange with actual key: undefined"},{"ancestorTitles":["useStringifiedSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useStringifiedSelection should call onChange with actual key: function () {\n return fn.apply(this, arguments);\n }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call onChange with actual key: function () {\n return fn.apply(this, arguments);\n }"},{"ancestorTitles":["useStringifiedSelection"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useStringifiedSelection should call onChange with given key when actual key is not found","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call onChange with given key when actual key is not found"}],"endTime":1726597233457,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/utils/useStringifiedSelection.test.ts","startTime":1726597233000,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":11,"failureDetails":[],"failureMessages":[],"fullName":"gets the login options and logs in","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"gets the login options and logs in"},{"ancestorTitles":[],"duration":17,"failureDetails":[],"failureMessages":[],"fullName":"shows an error if the login failed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows an error if the login failed"}],"endTime":1726597233495,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/auth-plugins/src/AuthPluginBase.test.tsx","startTime":1726597232556,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["usePickerScrollOnOpen"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"usePickerScrollOnOpen should return ref from usePopoverOnScrollRef","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return ref from usePopoverOnScrollRef"},{"ancestorTitles":["usePickerScrollOnOpen"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"usePickerScrollOnOpen should return a callback that calls popoverOnOpenChange and onOpenChange: true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a callback that calls popoverOnOpenChange and onOpenChange: true"},{"ancestorTitles":["usePickerScrollOnOpen"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"usePickerScrollOnOpen should return a callback that calls popoverOnOpenChange and onOpenChange: false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a callback that calls popoverOnOpenChange and onOpenChange: false"}],"endTime":1726597233518,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/picker/usePickerScrollOnOpen.test.ts","startTime":1726597233393,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useFilteredItemsWithDefaultValue"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useFilteredItemsWithDefaultValue should not prepend default item if searchText is not contained in display text: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not prepend default item if searchText is not contained in display text: null"},{"ancestorTitles":["useFilteredItemsWithDefaultValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useFilteredItemsWithDefaultValue should not prepend default item if searchText is not contained in display text: default.displayValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not prepend default item if searchText is not contained in display text: default.displayValue"},{"ancestorTitles":["useFilteredItemsWithDefaultValue","Loading status: [], false"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useFilteredItemsWithDefaultValue Loading status: [], false should prepend default item if searchText is empty or contained in display text and is not loading: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should prepend default item if searchText is empty or contained in display text and is not loading: "},{"ancestorTitles":["useFilteredItemsWithDefaultValue","Loading status: [], false"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useFilteredItemsWithDefaultValue Loading status: [], false should prepend default item if searchText is empty or contained in display text and is not loading: displayValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should prepend default item if searchText is empty or contained in display text and is not loading: displayValue"},{"ancestorTitles":["useFilteredItemsWithDefaultValue","Loading status: [], false"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useFilteredItemsWithDefaultValue Loading status: [], false should prepend default item if searchText is empty or contained in display text and is not loading: DISPLAYVALUE","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should prepend default item if searchText is empty or contained in display text and is not loading: DISPLAYVALUE"},{"ancestorTitles":["useFilteredItemsWithDefaultValue","Loading status: [ [Object] ], false"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useFilteredItemsWithDefaultValue Loading status: [ [Object] ], false should prepend default item if searchText is empty or contained in display text and is not loading: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should prepend default item if searchText is empty or contained in display text and is not loading: "},{"ancestorTitles":["useFilteredItemsWithDefaultValue","Loading status: [ [Object] ], false"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useFilteredItemsWithDefaultValue Loading status: [ [Object] ], false should prepend default item if searchText is empty or contained in display text and is not loading: displayValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should prepend default item if searchText is empty or contained in display text and is not loading: displayValue"},{"ancestorTitles":["useFilteredItemsWithDefaultValue","Loading status: [ [Object] ], false"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useFilteredItemsWithDefaultValue Loading status: [ [Object] ], false should prepend default item if searchText is empty or contained in display text and is not loading: DISPLAYVALUE","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should prepend default item if searchText is empty or contained in display text and is not loading: DISPLAYVALUE"},{"ancestorTitles":["useFilteredItemsWithDefaultValue","Loading status: [ [Object] ], true"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useFilteredItemsWithDefaultValue Loading status: [ [Object] ], true should prepend default item if searchText is empty or contained in display text and is not loading: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should prepend default item if searchText is empty or contained in display text and is not loading: "},{"ancestorTitles":["useFilteredItemsWithDefaultValue","Loading status: [ [Object] ], true"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useFilteredItemsWithDefaultValue Loading status: [ [Object] ], true should prepend default item if searchText is empty or contained in display text and is not loading: displayValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should prepend default item if searchText is empty or contained in display text and is not loading: displayValue"},{"ancestorTitles":["useFilteredItemsWithDefaultValue","Loading status: [ [Object] ], true"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useFilteredItemsWithDefaultValue Loading status: [ [Object] ], true should prepend default item if searchText is empty or contained in display text and is not loading: DISPLAYVALUE","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should prepend default item if searchText is empty or contained in display text and is not loading: DISPLAYVALUE"}],"endTime":1726597233631,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useFilteredItemsWithDefaultValue.test.ts","startTime":1726597233480,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["returned callback"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should not call onChanged while offset remains zero after init: scrollTop zero offset min:0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call onChanged while offset remains zero after init: scrollTop zero offset min:0"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should not call onChanged while offset remains zero after init: scrollTop zero offset max:9","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call onChanged while offset remains zero after init: scrollTop zero offset max:9"},{"ancestorTitles":["returned callback"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should not call onChanged if offset does not change: min:0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call onChanged if offset does not change: min:0"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should not call onChanged if offset does not change: max:9","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call onChanged if offset does not change: max:9"},{"ancestorTitles":["returned callback"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:1","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:1"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:2","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:2"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:3","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:3"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:4","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:4"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:5","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:5"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:6","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:6"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:7","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:7"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:8","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:8"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:9","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:9"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:10","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:10"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should not call onChange if debounce expires and last call offset has not changed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call onChange if debounce expires and last call offset has not changed"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should call onChange with last offset after debounce","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call onChange with last offset after debounce"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should not call onChanged while offset remains zero after init: scrollTop zero offset min:0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call onChanged while offset remains zero after init: scrollTop zero offset min:0"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should not call onChanged while offset remains zero after init: scrollTop zero offset max:9","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call onChanged while offset remains zero after init: scrollTop zero offset max:9"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should not call onChanged if offset does not change: min:0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call onChanged if offset does not change: min:0"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should not call onChanged if offset does not change: max:9","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call onChanged if offset does not change: max:9"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:1","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:1"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:2","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:2"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:3","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:3"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:4","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:4"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:5","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:5"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:6","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:6"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:7","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:7"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:8","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:8"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:9","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:9"},{"ancestorTitles":["returned callback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should pass changed scroll offset to onChange after debounce: expectedOffset:10","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass changed scroll offset to onChange after debounce: expectedOffset:10"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should not call onChange if debounce expires and last call offset has not changed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call onChange if debounce expires and last call offset has not changed"},{"ancestorTitles":["returned callback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returned callback should call onChange with last offset after debounce","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call onChange with last offset after debounce"}],"endTime":1726597233736,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useOnScrollOffsetChangeCallback.test.ts","startTime":1726597233524,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useValueFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useValueFilter should create a memoized value filter: contains","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a memoized value filter: contains"},{"ancestorTitles":["useValueFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useValueFilter should create a memoized value filter: eq","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a memoized value filter: eq"},{"ancestorTitles":["useValueFilter"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useValueFilter should create a memoized value filter: notEq","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a memoized value filter: notEq"}],"endTime":1726597233765,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useValueFilter.test.ts","startTime":1726597233273,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["Move to group"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"Move to group Move an item into a group","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move an item into a group"},{"ancestorTitles":["Move to group"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Move to group Move a group into a group","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move a group into a group"},{"ancestorTitles":["Move to group"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"Move to group Move a nested group out of its group","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move a nested group out of its group"},{"ancestorTitles":["Move to group"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Move to group Move an item out of a group","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move an item out of a group"},{"ancestorTitles":["Move to group"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"Move to group Move an item between groups","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move an item between groups"},{"ancestorTitles":["Move to group"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Move to group Does not move an item to the group it is already in","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Does not move an item to the group it is already in"},{"ancestorTitles":["Move to group"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Move to group Move the last item out of a group","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move the last item out of a group"},{"ancestorTitles":["Move to group"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Move to group Move the last item out of a nested group","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move the last item out of a nested group"},{"ancestorTitles":["Move items from drop"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Move items from drop Move an item into a group from above","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move an item into a group from above"},{"ancestorTitles":["Move items from drop"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Move items from drop Drop an item on a group from above","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Drop an item on a group from above"},{"ancestorTitles":["Move items from drop"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Move items from drop Move an item into a group from below","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move an item into a group from below"},{"ancestorTitles":["Move items from drop"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Move items from drop Drop an item on a group from below","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Drop an item on a group from below"},{"ancestorTitles":["Move items from drop"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Move items from drop Move the item below a group to the bottom of the group","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move the item below a group to the bottom of the group"},{"ancestorTitles":["Move items from drop"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Move items from drop Move the group directly below a group to the bottom of the group","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move the group directly below a group to the bottom of the group"},{"ancestorTitles":["Move items from drop"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Move items from drop Move a group onto a group from above","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move a group onto a group from above"},{"ancestorTitles":["Move items from drop"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Move items from drop Move multiple, disjoint items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move multiple, disjoint items"},{"ancestorTitles":["Move items from drop"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"Move items from drop Move multiple, disjoint items including a group","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Move multiple, disjoint items including a group"}],"endTime":1726597233782,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.test.ts","startTime":1726597233637,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["usePickerItemScale"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"usePickerItemScale should return itemHeight for scale: medium","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return itemHeight for scale: medium"},{"ancestorTitles":["usePickerItemScale"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"usePickerItemScale should return itemHeight for scale: large","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return itemHeight for scale: large"}],"endTime":1726597233867,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/picker/usePickerItemScale.test.ts","startTime":1726597232925,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["multiplier tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"multiplier tests handles null multiplier correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles null multiplier correctly"},{"ancestorTitles":["multiplier tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"multiplier tests handles undefined multiplier correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles undefined multiplier correctly"},{"ancestorTitles":["multiplier tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"multiplier tests ignores 0 multiplier correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"ignores 0 multiplier correctly"},{"ancestorTitles":["multiplier tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"multiplier tests handles 1 multiplier correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 1 multiplier correctly"},{"ancestorTitles":["multiplier tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"multiplier tests handles 2 multiplier correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 2 multiplier correctly"}],"endTime":1726597233905,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/formatters/IntegerColumnFormatter.test.ts","startTime":1726597233743,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["TableInput"],"duration":27,"failureDetails":[],"failureMessages":[],"fullName":"TableInput mounts and unmounts with a table properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts with a table properly"},{"ancestorTitles":["TableInput"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"TableInput mounts and unmounts with an unresolved promise properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts with an unresolved promise properly"}],"endTime":1726597233962,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/TableInput.test.tsx","startTime":1726597233409,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useNotNullOrEmptyFilter"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useNotNullOrEmptyFilter should return a filter function","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a filter function"},{"ancestorTitles":["useNotNullOrEmptyFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useNotNullOrEmptyFilter should return a filter function","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a filter function"},{"ancestorTitles":["useNotNullOrEmptyFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useNotNullOrEmptyFilter should return a filter function","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a filter function"}],"endTime":1726597234008,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useNotNullOrEmptyFilter.test.ts","startTime":1726597233504,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"renders default item without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders default item without crashing"}],"endTime":1726597234132,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/console-history/ConsoleHistoryItem.test.tsx","startTime":1726597232974,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["FileListItemEditor"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"FileListItemEditor mounts and unmounts without failing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts without failing"},{"ancestorTitles":["FileListItemEditor"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"FileListItemEditor validates on mount","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"validates on mount"},{"ancestorTitles":["FileListItemEditor"],"duration":41,"failureDetails":[],"failureMessages":[],"fullName":"FileListItemEditor validates on input changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"validates on input changes"},{"ancestorTitles":["FileListItemEditor"],"duration":28,"failureDetails":[],"failureMessages":[],"fullName":"FileListItemEditor validates and submits on enter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"validates and submits on enter"},{"ancestorTitles":["FileListItemEditor"],"duration":36,"failureDetails":[],"failureMessages":[],"fullName":"FileListItemEditor validates and submits on blur","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"validates and submits on blur"},{"ancestorTitles":["FileListItemEditor"],"duration":41,"failureDetails":[],"failureMessages":[],"fullName":"FileListItemEditor cancels on esc","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"cancels on esc"},{"ancestorTitles":["FileListItemEditor"],"duration":19,"failureDetails":[],"failureMessages":[],"fullName":"FileListItemEditor displays validation error, blocks submit","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"displays validation error, blocks submit"}],"endTime":1726597234169,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/file-explorer/src/FileListItemEditor.test.tsx","startTime":1726597233777,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["add stack functions properly"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"add stack functions properly adds to basic root object properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds to basic root object properly"},{"ancestorTitles":["add stack functions properly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"add stack functions properly adds to an existing column properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds to an existing column properly"},{"ancestorTitles":["add stack functions properly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"add stack functions properly adds row to existing column properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds row to existing column properly"},{"ancestorTitles":["getContentItemInStack"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getContentItemInStack finds item with the specified config","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"finds item with the specified config"},{"ancestorTitles":["getContentItemInStack"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getContentItemInStack returns null if item with the specified config not found","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns null if item with the specified config not found"},{"ancestorTitles":["isEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isEqual ignores the difference between undefined and missing properties","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"ignores the difference between undefined and missing properties"},{"ancestorTitles":["isEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isEqual correctly differentiates null from undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"correctly differentiates null from undefined"}],"endTime":1726597234303,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard/src/layout/LayoutUtils.test.ts","startTime":1726597234176,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["creating model from metadata"],"duration":105,"failureDetails":[],"failureMessages":[],"fullName":"creating model from metadata handles loading a FigureChartModel from table settings","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles loading a FigureChartModel from table settings"}],"endTime":1726597234325,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/chart/src/ChartModelFactory.test.ts","startTime":1726597234021,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts properly"},{"ancestorTitles":[],"duration":34,"failureDetails":[],"failureMessages":[],"fullName":"onSubmit works properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"onSubmit works properly"},{"ancestorTitles":["fillToLength"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"fillToLength fills empty string with the example value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"fills empty string with the example value"},{"ancestorTitles":["trimTrailingMask"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimTrailingMask trims characters matching the empty mask on the right","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"trims characters matching the empty mask on the right"}],"endTime":1726597234332,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/MaskedInput.test.tsx","startTime":1726597234138,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["View"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"View mounts and unmounts","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts"},{"ancestorTitles":["View"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"View renders without backgroundColor","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without backgroundColor"},{"ancestorTitles":["View"],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"View renders with backgroundColor","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders with backgroundColor"}],"endTime":1726597234348,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/View.test.tsx","startTime":1726597233877,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["availability tests"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"availability tests is available when window opener is set","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"is available when window opener is set"},{"ancestorTitles":["availability tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"availability tests is available when window parent is set","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"is available when window parent is set"},{"ancestorTitles":["availability tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"availability tests is not available when window opener and parent are not set","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"is not available when window opener and parent are not set"},{"ancestorTitles":["component tests"],"duration":12,"failureDetails":[],"failureMessages":[],"fullName":"component tests logs in when parent window provides login credentials","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"logs in when parent window provides login credentials"},{"ancestorTitles":["component tests"],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"component tests reports failure if login credentials are invalid","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"reports failure if login credentials are invalid"}],"endTime":1726597234357,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/auth-plugins/src/AuthPluginParent.test.tsx","startTime":1726597233795,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["Heading"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"Heading mounts and unmounts","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts"},{"ancestorTitles":["Heading"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Heading renders without color","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without color"},{"ancestorTitles":["Heading"],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"Heading renders with color","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders with color"}],"endTime":1726597234368,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/Heading.test.tsx","startTime":1726597233919,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["getItemKey"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemKey should return the item.key or fallback to the top-level key: { key: 'top-level.key', item: [Object] }, item.key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the item.key or fallback to the top-level key: { key: 'top-level.key', item: [Object] }, item.key"},{"ancestorTitles":["getItemKey"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemKey should return the item.key or fallback to the top-level key: { key: 'top-level.key', item: {} }, top-level.key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the item.key or fallback to the top-level key: { key: 'top-level.key', item: {} }, top-level.key"},{"ancestorTitles":["getItemKey"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemKey should return the item.key or fallback to the top-level key: { key: 'top-level.key' }, top-level.key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the item.key or fallback to the top-level key: { key: 'top-level.key' }, top-level.key"},{"ancestorTitles":["getItemTextValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemTextValue should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, string","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, string"},{"ancestorTitles":["getItemTextValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemTextValue should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, 4","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, 4"},{"ancestorTitles":["getItemTextValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemTextValue should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, true"},{"ancestorTitles":["getItemTextValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemTextValue should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, false"},{"ancestorTitles":["getItemTextValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemTextValue should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, textValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, textValue"},{"ancestorTitles":["getItemTextValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemTextValue should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, Empty","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, Empty"},{"ancestorTitles":["getItemTextValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemTextValue should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the expected `textValue`: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: '',\n ref: null,\n props: [Object],\n _owner: null,\n _store: {}\n}, "},{"ancestorTitles":["getPositionOfSelectedItemElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPositionOfSelectedItemElement should return top offset if selectedKey is not defined: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top offset if selectedKey is not defined: null"},{"ancestorTitles":["getPositionOfSelectedItemElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPositionOfSelectedItemElement should return top offset if selectedKey is not defined: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top offset if selectedKey is not defined: undefined"},{"ancestorTitles":["getPositionOfSelectedItemElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPositionOfSelectedItemElement should return top offset if selectedKey is not found","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top offset if selectedKey is not found"},{"ancestorTitles":["getPositionOfSelectedItemElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPositionOfSelectedItemElement should return the position of the selected item element: 1","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the position of the selected item element: 1"},{"ancestorTitles":["getPositionOfSelectedItemElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPositionOfSelectedItemElement should return the position of the selected item element: 2","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the position of the selected item element: 2"},{"ancestorTitles":["getPositionOfSelectedItemElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPositionOfSelectedItemElement should return the position of the selected item element: 3","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the position of the selected item element: 3"},{"ancestorTitles":["isItemElementWithDescription"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemElementWithDescription Item with description should return true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Item with description should return true"},{"ancestorTitles":["isItemElementWithDescription"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemElementWithDescription ItemContent with description should return true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"ItemContent with description should return true"},{"ancestorTitles":["isItemElementWithDescription"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemElementWithDescription Section with Item description should return false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Section with Item description should return false"},{"ancestorTitles":["isItemElementWithDescription"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemElementWithDescription Item no description should return false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Item no description should return false"},{"ancestorTitles":["isItemElementWithDescription"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemElementWithDescription ItemContent no description should return false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"ItemContent no description should return false"},{"ancestorTitles":["isNormalizedItemsWithKeysList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNormalizedItemsWithKeysList should return true for a normalized items with keys list: [ 'item' ], false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a normalized items with keys list: [ 'item' ], false"},{"ancestorTitles":["isNormalizedItemsWithKeysList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNormalizedItemsWithKeysList should return true for a normalized items with keys list: [ 'section' ], false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a normalized items with keys list: [ 'section' ], false"},{"ancestorTitles":["isNormalizedItemsWithKeysList"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isNormalizedItemsWithKeysList should return true for a normalized items with keys list: [ 'item', 'normalizedItemWithKey' ], false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a normalized items with keys list: [ 'item', 'normalizedItemWithKey' ], false"},{"ancestorTitles":["isNormalizedItemsWithKeysList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNormalizedItemsWithKeysList should return true for a normalized items with keys list: [ 'section', 'normalizedItemWithKey' ], false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a normalized items with keys list: [ 'section', 'normalizedItemWithKey' ], false"},{"ancestorTitles":["isNormalizedItemsWithKeysList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNormalizedItemsWithKeysList should return true for a normalized items with keys list: [], true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a normalized items with keys list: [], true"},{"ancestorTitles":["isNormalizedItemsWithKeysList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNormalizedItemsWithKeysList should return true for a normalized items with keys list: [ 'normalizedItemWithKey' ], true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a normalized items with keys list: [ 'normalizedItemWithKey' ], true"},{"ancestorTitles":["isNormalizedItemsWithKeysList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNormalizedItemsWithKeysList should return true for a normalized items with keys list: [ 'normalizedSectionWithKey' ], true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a normalized items with keys list: [ 'normalizedSectionWithKey' ], true"},{"ancestorTitles":["isNormalizedItemsWithKeysList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNormalizedItemsWithKeysList should return true for a normalized items with keys list: [ 'normalizedItemWithKey', 'item' ], true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a normalized items with keys list: [ 'normalizedItemWithKey', 'item' ], true"},{"ancestorTitles":["isNormalizedItemsWithKeysList"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNormalizedItemsWithKeysList should return true for a normalized items with keys list: [ 'normalizedSectionWithKey', 'section' ], true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a normalized items with keys list: [ 'normalizedSectionWithKey', 'section' ], true"},{"ancestorTitles":["isSectionElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSectionElement should return true for a Section element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Section element"},{"ancestorTitles":["isSectionElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSectionElement should return true for a Section element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Section element"},{"ancestorTitles":["isSectionElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSectionElement should return true for a Section element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Section element"},{"ancestorTitles":["isItemElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemElement should return true for a Item element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Item element"},{"ancestorTitles":["isItemElement"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isItemElement should return true for a Item element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Item element"},{"ancestorTitles":["isItemElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemElement should return true for a Item element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Item element"},{"ancestorTitles":["isItemOrSection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemOrSection should return true for a Item or Section element: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Item or Section element: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, true"},{"ancestorTitles":["isItemOrSection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemOrSection should return true for a Item or Section element: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Item or Section element: {\n '$$typeof': Symbol(react.element),\n type: [Function],\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, true"},{"ancestorTitles":["isItemOrSection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemOrSection should return true for a Item or Section element: Some string, true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Item or Section element: Some string, true"},{"ancestorTitles":["isItemOrSection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemOrSection should return true for a Item or Section element: 999, true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Item or Section element: 999, true"},{"ancestorTitles":["isItemOrSection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemOrSection should return true for a Item or Section element: true, true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Item or Section element: true, true"},{"ancestorTitles":["isItemOrSection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemOrSection should return true for a Item or Section element: false, true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Item or Section element: false, true"},{"ancestorTitles":["isItemOrSection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isItemOrSection should return true for a Item or Section element: {\n '$$typeof': Symbol(react.element),\n type: 'span',\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a Item or Section element: {\n '$$typeof': Symbol(react.element),\n type: 'span',\n key: null,\n ref: null,\n props: {},\n _owner: null,\n _store: {}\n}, false"},{"ancestorTitles":["isNormalizedSection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNormalizedSection should return true for a normalized section: { key: 'mock.key', item: {} }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a normalized section: { key: 'mock.key', item: {} }"},{"ancestorTitles":["isNormalizedSection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNormalizedSection should return true for a normalized section: { key: 'mock.key', item: [Object] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for a normalized section: { key: 'mock.key', item: [Object] }"},{"ancestorTitles":["itemSelectionToStringSet"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"itemSelectionToStringSet should return 'all' or stringify the keys","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return 'all' or stringify the keys"},{"ancestorTitles":["itemSelectionToStringSet"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"itemSelectionToStringSet should return 'all' or stringify the keys","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return 'all' or stringify the keys"},{"ancestorTitles":["normalizeTooltipOptions"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalizeTooltipOptions should return: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return: undefined"},{"ancestorTitles":["normalizeTooltipOptions"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalizeTooltipOptions should return: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return: null"},{"ancestorTitles":["normalizeTooltipOptions"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalizeTooltipOptions should return: false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return: false"},{"ancestorTitles":["normalizeTooltipOptions"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalizeTooltipOptions should return: true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return: true"},{"ancestorTitles":["normalizeTooltipOptions"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalizeTooltipOptions should return: { placement: 'bottom-end' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return: { placement: 'bottom-end' }"},{"ancestorTitles":["normalizeTooltipOptions"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalizeTooltipOptions should allow overriding default placement","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should allow overriding default placement"}],"endTime":1726597234394,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/utils/itemUtils.test.tsx","startTime":1726597233977,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isForwardRefComponent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"isForwardRefComponent"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isClassComponent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"isClassComponent"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isWrappedComponent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"isWrappedComponent"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"canHaveRef","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"canHaveRef"}],"endTime":1726597234537,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/ComponentUtils.test.tsx","startTime":1726597234404,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts properly"},{"ancestorTitles":[],"duration":16,"failureDetails":[],"failureMessages":[],"fullName":"get element by data-testid works","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"get element by data-testid works"}],"endTime":1726597234564,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/UISwitch.test.tsx","startTime":1726597234339,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["throw if not wrapped in a provider"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"throw if not wrapped in a provider should throw default error","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw default error"},{"ancestorTitles":["throw if not wrapped in a provider"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"throw if not wrapped in a provider should throw custom error message","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw custom error message"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should not throw if wrapped in a provider","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not throw if wrapped in a provider"}],"endTime":1726597234587,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useContextOrThrow.test.tsx","startTime":1726597234367,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["ensureArray"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"ensureArray should return the same array if an array is passed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the same array if an array is passed"},{"ancestorTitles":["ensureArray"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"ensureArray should return an array with the passed value if a non-array value is passed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an array with the passed value if a non-array value is passed"},{"ancestorTitles":["removeNullAndUndefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"removeNullAndUndefined should remove null and undefined items from array: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should remove null and undefined items from array: null"},{"ancestorTitles":["removeNullAndUndefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"removeNullAndUndefined should remove null and undefined items from array: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should remove null and undefined items from array: undefined"}],"endTime":1726597234602,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/DataUtils.test.ts","startTime":1726597234385,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["menuElement"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"menuElement passes forwardedProps prop to a functional component","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"passes forwardedProps prop to a functional component"},{"ancestorTitles":["menuElement"],"duration":42,"failureDetails":[],"failureMessages":[],"fullName":"menuElement does not override props with conflicting names","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not override props with conflicting names"},{"ancestorTitles":["menuElement"],"duration":27,"failureDetails":[],"failureMessages":[],"fullName":"menuElement passes contextMenuItem props in forwardedProps","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"passes contextMenuItem props in forwardedProps"}],"endTime":1726597234625,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/context-actions/ContextMenuItem.test.tsx","startTime":1726597234361,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["viewport and subscription tests"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"viewport and subscription tests applies viewport to existing subscription","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"applies viewport to existing subscription"},{"ancestorTitles":["viewport and subscription tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"viewport and subscription tests applies a new viewport only if there is a change","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"applies a new viewport only if there is a change"},{"ancestorTitles":["viewport and subscription tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"viewport and subscription tests makes a new subscription if filters/sorts/custom columns have changed, batches requests","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"makes a new subscription if filters/sorts/custom columns have changed, batches requests"},{"ancestorTitles":["viewport and subscription tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"viewport and subscription tests queues multiple updates made rapidly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"queues multiple updates made rapidly"},{"ancestorTitles":["viewport and subscription tests"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"viewport and subscription tests runs all updates if spaced apart","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"runs all updates if spaced apart"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"updates the model correctly when adding and removing a rollup config","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"updates the model correctly when adding and removing a rollup config"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"closes the table correctly when the model is closed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"closes the table correctly when the model is closed"},{"ancestorTitles":["totals table tests"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"totals table tests opens a totals table correctly and closes it when done","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"opens a totals table correctly and closes it when done"},{"ancestorTitles":["totals table tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"totals table tests closes the totals table correctly after nulling the config","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"closes the totals table correctly after nulling the config"},{"ancestorTitles":["totals table tests"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"totals table tests handles totals table loading error","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles totals table loading error"},{"ancestorTitles":["pending new rows tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"pending new rows tests has the correct number of total rows","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"has the correct number of total rows"},{"ancestorTitles":["pending new rows tests","setting values"],"duration":9,"failureDetails":[],"failureMessages":[],"fullName":"pending new rows tests setting values updates the pending data map when setting pending ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"updates the pending data map when setting pending ranges"},{"ancestorTitles":["pending new rows tests","setting values"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"pending new rows tests setting values writes pending data to the input table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"writes pending data to the input table"},{"ancestorTitles":["pending new rows tests"],"duration":59,"failureDetails":[],"failureMessages":[],"fullName":"pending new rows tests validates pendingDataMap when being set","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"validates pendingDataMap when being set"}],"endTime":1726597234638,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/IrisGridModel.test.ts","startTime":1726597234336,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should create and subscribe to a `selectDistinct` derivation of a given table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create and subscribe to a `selectDistinct` derivation of a given table"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should safely ignore null table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should safely ignore null table"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should unsubscribe on unmount","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should unsubscribe on unmount"}],"endTime":1726597234672,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useSelectDistinctTable.test.ts","startTime":1726597234549,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":248,"failureDetails":[],"failureMessages":[],"fullName":"generates the correct number of headers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"generates the correct number of headers"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"generates correct headers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"generates correct headers"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"generates correct headers recursively","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"generates correct headers recursively"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"transposes correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"transposes correctly"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"drops extra columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"drops extra columns"},{"ancestorTitles":[],"duration":12,"failureDetails":[],"failureMessages":[],"fullName":"throws an error for insufficient columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws an error for insufficient columns"}],"endTime":1726597234685,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/csv/CsvParser.test.ts","startTime":1726597234317,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["getItemKeyColumn"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemKeyColumn should return the given key column or fallback to the first column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the given key column or fallback to the first column"},{"ancestorTitles":["getItemKeyColumn"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemKeyColumn should return the given key column or fallback to the first column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the given key column or fallback to the first column"},{"ancestorTitles":["getItemLabelColumn"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemLabelColumn should return the given label column or fallback to the key column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the given label column or fallback to the key column"},{"ancestorTitles":["getItemLabelColumn"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemLabelColumn should return the given label column or fallback to the key column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the given label column or fallback to the key column"}],"endTime":1726597234705,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/spectrum/utils/itemUtils.test.tsx","startTime":1726597234596,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"should map filter condition factories over given table and return resulting filter conditions","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should map filter condition factories over given table and return resulting filter conditions"},{"ancestorTitles":[],"duration":12,"failureDetails":[],"failureMessages":[],"fullName":"should map filter condition factories over given table and return resulting filter conditions","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should map filter condition factories over given table and return resulting filter conditions"}],"endTime":1726597234712,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useFilterConditionFactories.test.ts","startTime":1726597234609,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"wraps added promises and returns a cancelable promise","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"wraps added promises and returns a cancelable promise"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"cancels pending promises properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"cancels pending promises properly"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"cancels resolved and rejected promises properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"cancels resolved and rejected promises properly"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"handles multiple promises","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles multiple promises"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"cleanup is called if promise is cancelled while pending","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"cleanup is called if promise is cancelled while pending"}],"endTime":1726597234715,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/Pending.test.ts","startTime":1726597234572,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["getFormattedVersionInfo"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"getFormattedVersionInfo should return the formatted version information","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the formatted version information"},{"ancestorTitles":["getFormattedVersionInfo"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getFormattedVersionInfo should return \"Unknown\" for missing version information","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return \"Unknown\" for missing version information"}],"endTime":1726597234754,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/code-studio/src/settings/SettingsUtils.test.tsx","startTime":1726597234634,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useWidget"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"useWidget should return a widget when available","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a widget when available"},{"ancestorTitles":["useWidget"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useWidget should return an error when an error occurs","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an error when an error occurs"},{"ancestorTitles":["useWidget"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useWidget should return null when still loading","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null when still loading"},{"ancestorTitles":["useWidget"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useWidget should close the widget and exported objects when cancelled","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should close the widget and exported objects when cancelled"},{"ancestorTitles":["useWidget"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useWidget should not close the widget if it is returned before unmount","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not close the widget if it is returned before unmount"},{"ancestorTitles":["useWidget"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"useWidget should handle a Table being fetched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle a Table being fetched"},{"ancestorTitles":["useWidget"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"useWidget should close the Table if unmounted before the fetch is done","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should close the Table if unmounted before the fetch is done"}],"endTime":1726597234768,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-bootstrap/src/useWidget.test.tsx","startTime":1726597234647,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useAsyncInterval"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"useAsyncInterval should call the callback function immediately any time the callback or target interval changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call the callback function immediately any time the callback or target interval changes"},{"ancestorTitles":["useAsyncInterval"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"useAsyncInterval should adjust the target interval based on how long async call takes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should adjust the target interval based on how long async call takes"},{"ancestorTitles":["useAsyncInterval"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useAsyncInterval should schedule the next callback immediately if the callback takes longer than the target interval","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should schedule the next callback immediately if the callback takes longer than the target interval"},{"ancestorTitles":["useAsyncInterval"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"useAsyncInterval should stop calling the callback function after unmounting","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should stop calling the callback function after unmounting"},{"ancestorTitles":["useAsyncInterval"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useAsyncInterval should not re-schedule callback if callback resolves after unmounting","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not re-schedule callback if callback resolves after unmounting"},{"ancestorTitles":["useAsyncInterval"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useAsyncInterval should handle tick errors","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle tick errors"}],"endTime":1726597234799,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useAsyncInterval.test.ts","startTime":1726597234682,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should apply given filter when applyFiltersAndRefresh or filter changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should apply given filter when applyFiltersAndRefresh or filter changes"}],"endTime":1726597234815,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useViewportFilter.test.ts","startTime":1726597234713,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should resolve the objectFetch when in the context","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve the objectFetch when in the context"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return an error, not throw if objectFetch not available in the context","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an error, not throw if objectFetch not available in the context"}],"endTime":1726597234840,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-bootstrap/src/useObjectFetch.test.tsx","startTime":1726597234723,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["stack push and pop tests"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"stack push and pop tests mounts and unmounts","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts"},{"ancestorTitles":["stack push and pop tests"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"stack push and pop tests pushes items when stack grows","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"pushes items when stack grows"},{"ancestorTitles":["stack push and pop tests"],"duration":13,"failureDetails":[],"failureMessages":[],"fullName":"stack push and pop tests pops items when stack shrinks","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"pops items when stack shrinks"},{"ancestorTitles":["stack push and pop tests"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"stack push and pop tests pops multiple items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"pops multiple items"}],"endTime":1726597234861,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/navigation/Stack.test.tsx","startTime":1726597234696,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"finds the right definition if variable exists","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"finds the right definition if variable exists"},{"ancestorTitles":[],"duration":17,"failureDetails":[],"failureMessages":[],"fullName":"throws a TimeoutError if finding the variable timed out","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws a TimeoutError if finding the variable timed out"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"throws an Error if variable not found","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws an Error if variable not found"}],"endTime":1726597234866,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/ConnectionUtils.test.ts","startTime":1726597234720,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["LoadingOverlay"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"LoadingOverlay renders loading spinner and no scrim on initial loading","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders loading spinner and no scrim on initial loading"},{"ancestorTitles":["LoadingOverlay"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"LoadingOverlay renders error message and no scrim when errorMessage is provided on initial loading","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders error message and no scrim when errorMessage is provided on initial loading"},{"ancestorTitles":["LoadingOverlay"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"LoadingOverlay renders scrim when loaded and errorMessage is provided","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders scrim when loaded and errorMessage is provided"},{"ancestorTitles":["LoadingOverlay"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"LoadingOverlay renders scrim when isLoaded is true and loading again","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders scrim when isLoaded is true and loading again"}],"endTime":1726597234883,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/LoadingOverlay.test.tsx","startTime":1726597234760,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["IrisGridProxyModel"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridProxyModel Proxies getting members when necessary","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Proxies getting members when necessary"},{"ancestorTitles":["IrisGridProxyModel"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridProxyModel Proxies getters when necessary","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Proxies getters when necessary"},{"ancestorTitles":["IrisGridProxyModel"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridProxyModel Proxies setting members when necessary","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Proxies setting members when necessary"},{"ancestorTitles":["IrisGridProxyModel"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridProxyModel Proxies setters when necessary","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Proxies setters when necessary"},{"ancestorTitles":["IrisGridProxyModel"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridProxyModel Proxies functions when necessary","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Proxies functions when necessary"}],"endTime":1726597234958,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/IrisGridProxyModel.test.ts","startTime":1726597234826,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["parsing shell arguments from text"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"parsing shell arguments from text handles empty and blank strings properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles empty and blank strings properly"},{"ancestorTitles":["parsing shell arguments from text"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"parsing shell arguments from text handles basic cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles basic cases"},{"ancestorTitles":["parsing shell arguments from text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parsing shell arguments from text handles shell quoting rules","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles shell quoting rules"},{"ancestorTitles":["parsing shell arguments from text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parsing shell arguments from text handles glob patterns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles glob patterns"},{"ancestorTitles":["parsing shell arguments from text"],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"parsing shell arguments from text handls ops","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handls ops"},{"ancestorTitles":["parsing shell arguments from text"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"parsing shell arguments from text filters out comments","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"filters out comments"}],"endTime":1726597234974,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/common/ConsoleUtils.test.ts","startTime":1726597234808,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["Clipboard","writeText"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Clipboard writeText should call clipboard.writeText","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call clipboard.writeText"},{"ancestorTitles":["Clipboard","writeText"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Clipboard writeText should call copyToClipboardExecCommand if writeText fails","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call copyToClipboardExecCommand if writeText fails"},{"ancestorTitles":["Clipboard","writeText"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"Clipboard writeText calls copyToClipboardExecCommand if clipboard is undefined and throws","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls copyToClipboardExecCommand if clipboard is undefined and throws"},{"ancestorTitles":["Clipboard","writeText"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Clipboard writeText calls copyToClipboardExecCommand if clipboard is undefined but does not throw","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls copyToClipboardExecCommand if clipboard is undefined but does not throw"}],"endTime":1726597234993,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ClipboardUtils.test.ts","startTime":1726597234845,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should return loading state while loading and data if promise resolves","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return loading state while loading and data if promise resolves"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return loading state while loading and error if promise fails","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return loading state while loading and error if promise fails"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should not auto load promise if autoLoad is false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not auto load promise if autoLoad is false"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should support explicit loading via reload function: true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should support explicit loading via reload function: true"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should support explicit loading via reload function: false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should support explicit loading via reload function: false"}],"endTime":1726597234994,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/usePromiseFactory.test.ts","startTime":1726597234893,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["asRgbOrRgbaString"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"asRgbOrRgbaString should return the color string if it is already in the expected format: rgb(0, 128, 255)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the color string if it is already in the expected format: rgb(0, 128, 255)"},{"ancestorTitles":["asRgbOrRgbaString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"asRgbOrRgbaString should return the color string if it is already in the expected format: rgb(0,128,255)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the color string if it is already in the expected format: rgb(0,128,255)"},{"ancestorTitles":["asRgbOrRgbaString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"asRgbOrRgbaString should return the color string if it is already in the expected format: rgba(0, 128, 255, 0.1)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the color string if it is already in the expected format: rgba(0, 128, 255, 0.1)"},{"ancestorTitles":["asRgbOrRgbaString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"asRgbOrRgbaString should return the color string if it is already in the expected format: rgba(0, 128, 255, 1)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the color string if it is already in the expected format: rgba(0, 128, 255, 1)"},{"ancestorTitles":["asRgbOrRgbaString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"asRgbOrRgbaString should return the color string if it is already in the expected format: color(srgb 1, 1, 1 / 1)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the color string if it is already in the expected format: color(srgb 1, 1, 1 / 1)"},{"ancestorTitles":["asRgbOrRgbaString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"asRgbOrRgbaString should return the color string if it is already in the expected format: color(srgb 0,0,0 / 0)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the color string if it is already in the expected format: color(srgb 0,0,0 / 0)"},{"ancestorTitles":["asRgbOrRgbaString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"asRgbOrRgbaString should return the color string if it is already in the expected format: color(srgb 0, 0.2, 0.2 / 0.2)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the color string if it is already in the expected format: color(srgb 0, 0.2, 0.2 / 0.2)"},{"ancestorTitles":["asRgbOrRgbaString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"asRgbOrRgbaString should return the color string if it is already in the expected format: color(srgb 0,0,0)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the color string if it is already in the expected format: color(srgb 0,0,0)"},{"ancestorTitles":["asRgbOrRgbaString"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"asRgbOrRgbaString should return the color string if it is already in the expected format: color(srgb 0 0.2 0.2)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the color string if it is already in the expected format: color(srgb 0 0.2 0.2)"},{"ancestorTitles":["asRgbOrRgbaString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"asRgbOrRgbaString should return the resolved color string if it is not in the expected format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the resolved color string if it is not in the expected format"},{"ancestorTitles":["asRgbOrRgbaString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"asRgbOrRgbaString should return null if the resolved color string is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if the resolved color string is null"},{"ancestorTitles":["isDark"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"isDark returns true if the background is dark","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true if the background is dark"},{"ancestorTitles":["isDark"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isDark returns false if the background is bright","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns false if the background is bright"},{"ancestorTitles":["isDark"],"duration":16,"failureDetails":[],"failureMessages":[],"fullName":"isDark throws an error if the color is not a valid value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws an error if the color is not a valid value"},{"ancestorTitles":["normalizeCssColor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalizeCssColor should normalize a resolved rgb/a color to 8 character hex value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should normalize a resolved rgb/a color to 8 character hex value"},{"ancestorTitles":["normalizeCssColor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalizeCssColor should normalize a resolved rgb/a color to 8 character hex value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should normalize a resolved rgb/a color to 8 character hex value"},{"ancestorTitles":["normalizeCssColor"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"normalizeCssColor should normalize a resolved rgb/a color to 8 character hex value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should normalize a resolved rgb/a color to 8 character hex value"},{"ancestorTitles":["normalizeCssColor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalizeCssColor should normalize a resolved rgb/a color to 8 character hex value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should normalize a resolved rgb/a color to 8 character hex value"},{"ancestorTitles":["normalizeCssColor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalizeCssColor should return original color if Color resolves to empty string","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return original color if Color resolves to empty string"},{"ancestorTitles":["normalizeCssColor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalizeCssColor should return original color if Color resolves to non rgb/a","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return original color if Color resolves to non rgb/a"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgb: rgb(255, 255, 255), { r: 255, g: 255, b: 255, a: 1 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgb: rgb(255, 255, 255), { r: 255, g: 255, b: 255, a: 1 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgb: rgb(0,0,0), { r: 0, g: 0, b: 0, a: 1 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgb: rgb(0,0,0), { r: 0, g: 0, b: 0, a: 1 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgb: rgb(255 255 255), { r: 255, g: 255, b: 255, a: 1 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgb: rgb(255 255 255), { r: 255, g: 255, b: 255, a: 1 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgb: rgb(0 0 0), { r: 0, g: 0, b: 0, a: 1 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgb: rgb(0 0 0), { r: 0, g: 0, b: 0, a: 1 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgb: rgb(0 128 255), { r: 0, g: 128, b: 255, a: 1 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgb: rgb(0 128 255), { r: 0, g: 128, b: 255, a: 1 }"},{"ancestorTitles":["parseRgba"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgb: rgb(0 128 255 / .5), { r: 0, g: 128, b: 255, a: 0.5 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgb: rgb(0 128 255 / .5), { r: 0, g: 128, b: 255, a: 0.5 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgba: rgba(255, 255, 255, 1), { r: 255, g: 255, b: 255, a: 1 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgba: rgba(255, 255, 255, 1), { r: 255, g: 255, b: 255, a: 1 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgba: rgba(255, 255, 255, 255), { r: 255, g: 255, b: 255, a: 1 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgba: rgba(255, 255, 255, 255), { r: 255, g: 255, b: 255, a: 1 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgba: rgba(0,0,0,0), { r: 0, g: 0, b: 0, a: 0 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgba: rgba(0,0,0,0), { r: 0, g: 0, b: 0, a: 0 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgba: rgba(255 255 255 1), { r: 255, g: 255, b: 255, a: 1 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgba: rgba(255 255 255 1), { r: 255, g: 255, b: 255, a: 1 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgba: rgba(0 0 0 0), { r: 0, g: 0, b: 0, a: 0 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgba: rgba(0 0 0 0), { r: 0, g: 0, b: 0, a: 0 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgba: rgba(0 128 255 .5), { r: 0, g: 128, b: 255, a: 0.5 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgba: rgba(0 128 255 .5), { r: 0, g: 128, b: 255, a: 0.5 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgba: color(srgb 1 1 1 1), { r: 255, g: 255, b: 255, a: 1 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgba: color(srgb 1 1 1 1), { r: 255, g: 255, b: 255, a: 1 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgba: color(srgb 1, 1, 1, 1), { r: 255, g: 255, b: 255, a: 1 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgba: color(srgb 1, 1, 1, 1), { r: 255, g: 255, b: 255, a: 1 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgba: color(srgb 1, 1, 1 / 1), { r: 255, g: 255, b: 255, a: 1 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgba: color(srgb 1, 1, 1 / 1), { r: 255, g: 255, b: 255, a: 1 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgba: color(srgb 0,0,0 / 0), { r: 0, g: 0, b: 0, a: 0 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgba: color(srgb 0,0,0 / 0), { r: 0, g: 0, b: 0, a: 0 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgba: color(srgb 0 0 0 / 0), { r: 0, g: 0, b: 0, a: 0 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgba: color(srgb 0 0 0 / 0), { r: 0, g: 0, b: 0, a: 0 }"},{"ancestorTitles":["parseRgba"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should parse rgba: color(srgb 0 0.2 0.2 / 0.2), { r: 0, g: 51, b: 51, a: 0.2 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse rgba: color(srgb 0 0.2 0.2 / 0.2), { r: 0, g: 51, b: 51, a: 0.2 }"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should return null if not rgb or rgba","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if not rgb or rgba"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should return null if given < 3 args","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if given < 3 args"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should return null if given < 3 args","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if given < 3 args"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should return null if given < 3 args","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if given < 3 args"},{"ancestorTitles":["parseRgba"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseRgba should return null if given < 3 args","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if given < 3 args"},{"ancestorTitles":["rgbaToHex8"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"rgbaToHex8 should convert rgb to hex: { rgb: [Object], hex: '#ff0000ff' }, %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should convert rgb to hex: { rgb: [Object], hex: '#ff0000ff' }, %s"},{"ancestorTitles":["rgbaToHex8"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"rgbaToHex8 should convert rgb to hex: { rgb: [Object], hex: '#ff8000ff' }, %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should convert rgb to hex: { rgb: [Object], hex: '#ff8000ff' }, %s"},{"ancestorTitles":["rgbaToHex8"],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"rgbaToHex8 should convert rgb to hex: { rgb: [Object], hex: '#ffff00ff' }, %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should convert rgb to hex: { rgb: [Object], hex: '#ffff00ff' }, %s"},{"ancestorTitles":["rgbaToHex8"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"rgbaToHex8 should convert rgb to hex: { rgb: [Object], hex: '#80ff00ff' }, %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should convert rgb to hex: { rgb: [Object], hex: '#80ff00ff' }, %s"},{"ancestorTitles":["rgbaToHex8"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"rgbaToHex8 should convert rgb to hex: { rgb: [Object], hex: '#00ff00ff' }, %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should convert rgb to hex: { rgb: [Object], hex: '#00ff00ff' }, %s"},{"ancestorTitles":["rgbaToHex8"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"rgbaToHex8 should convert rgb to hex: { rgb: [Object], hex: '#00ff80ff' }, %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should convert rgb to hex: { rgb: [Object], hex: '#00ff80ff' }, %s"},{"ancestorTitles":["rgbaToHex8"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"rgbaToHex8 should convert rgb to hex: { rgb: [Object], hex: '#00ffffff' }, %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should convert rgb to hex: { rgb: [Object], hex: '#00ffffff' }, %s"},{"ancestorTitles":["rgbaToHex8"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"rgbaToHex8 should convert rgb to hex: { rgb: [Object], hex: '#0080ffff' }, %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should convert rgb to hex: { rgb: [Object], hex: '#0080ffff' }, %s"},{"ancestorTitles":["rgbaToHex8"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"rgbaToHex8 should convert rgb to hex: { rgb: [Object], hex: '#0000ffff' }, %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should convert rgb to hex: { rgb: [Object], hex: '#0000ffff' }, %s"},{"ancestorTitles":["rgbaToHex8"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"rgbaToHex8 should convert rgb to hex: { rgb: [Object], hex: '#8000ffff' }, %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should convert rgb to hex: { rgb: [Object], hex: '#8000ffff' }, %s"},{"ancestorTitles":["rgbaToHex8"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"rgbaToHex8 should convert rgb to hex: { rgb: [Object], hex: '#ff00ffff' }, %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should convert rgb to hex: { rgb: [Object], hex: '#ff00ffff' }, %s"},{"ancestorTitles":["rgbaToHex8"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"rgbaToHex8 should convert rgb to hex: { rgb: [Object], hex: '#ff0080ff' }, %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should convert rgb to hex: { rgb: [Object], hex: '#ff0080ff' }, %s"}],"endTime":1726597235003,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ColorUtils.test.ts","startTime":1726597234880,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"populates the layout properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"populates the layout properly"},{"ancestorTitles":[],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"populates series data properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"populates series data properly"},{"ancestorTitles":[],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"populates horizontal series properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"populates horizontal series properly"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"converts histograms properly to bars","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts histograms properly to bars"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"handles colors on line charts properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles colors on line charts properly"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"handles colors on bar charts properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles colors on bar charts properly"},{"ancestorTitles":["axis transform tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"axis transform tests handles log x-axis properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles log x-axis properly"},{"ancestorTitles":["axis transform tests"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"axis transform tests handles log y-axis properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles log y-axis properly"},{"ancestorTitles":["multiple axes"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"multiple axes handles two y-axes properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles two y-axes properly"},{"ancestorTitles":["multiple axes"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"multiple axes handles multiple y-axes on the same side properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles multiple y-axes on the same side properly"},{"ancestorTitles":["multiple axes"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"multiple axes handles two x-axes properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles two x-axes properly"},{"ancestorTitles":["multiple axes"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"multiple axes handles multiple x-axes on the same side properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles multiple x-axes on the same side properly"},{"ancestorTitles":[],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"adds new series","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adds new series"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"emits finished loading if no series are added","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"emits finished loading if no series are added"},{"ancestorTitles":["legend visibility"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"legend visibility shows legend when set to true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shows legend when set to true"},{"ancestorTitles":["legend visibility"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"legend visibility hides legend when set to false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"hides legend when set to false"},{"ancestorTitles":["legend visibility"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"legend visibility does not set property when not provided","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not set property when not provided"}],"endTime":1726597235046,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/chart/src/FigureChartModel.test.ts","startTime":1726597234886,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useFormWithDetachedSubmitButton"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useFormWithDetachedSubmitButton should generate new formId on mount","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate new formId on mount"},{"ancestorTitles":["useFormWithDetachedSubmitButton"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useFormWithDetachedSubmitButton should generate form and button props","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate form and button props"},{"ancestorTitles":["useFormWithDetachedSubmitButton"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useFormWithDetachedSubmitButton should include preventDefault function if preventDefault is true: true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should include preventDefault function if preventDefault is true: true"},{"ancestorTitles":["useFormWithDetachedSubmitButton"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useFormWithDetachedSubmitButton should include preventDefault function if preventDefault is true: false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should include preventDefault function if preventDefault is true: false"},{"ancestorTitles":["useFormWithDetachedSubmitButton"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useFormWithDetachedSubmitButton should return a callback ref that sets `form` attribute to formId","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a callback ref that sets `form` attribute to formId"}],"endTime":1726597235114,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useFormWithDetachedSubmitButton.test.ts","startTime":1726597235007,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useSpectrumDisableSpellcheckRef"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"useSpectrumDisableSpellcheckRef should set spellCheck:false on elements matching `selectors`","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should set spellCheck:false on elements matching `selectors`"}],"endTime":1726597235153,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useSpectrumDisableSpellcheckRef.test.ts","startTime":1726597235013,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["IrisGridTreeTableModel virtual columns"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridTreeTableModel virtual columns create virtual columns with group length %","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"create virtual columns with group length %"},{"ancestorTitles":["IrisGridTreeTableModel virtual columns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridTreeTableModel virtual columns create virtual columns with group length %","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"create virtual columns with group length %"},{"ancestorTitles":["IrisGridTreeTableModel virtual columns"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridTreeTableModel virtual columns create virtual columns with group length %","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"create virtual columns with group length %"},{"ancestorTitles":["IrisGridTreeTableModel virtual columns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridTreeTableModel virtual columns create virtual columns with group length %","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"create virtual columns with group length %"},{"ancestorTitles":["IrisGridTreeTableModel layoutHints"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridTreeTableModel layoutHints null layout hints by default","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"null layout hints by default"},{"ancestorTitles":["IrisGridTreeTableModel layoutHints"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridTreeTableModel layoutHints layoutHints set on tree table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"layoutHints set on tree table"},{"ancestorTitles":["IrisGridTreeTableModel layoutHints"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridTreeTableModel layoutHints layoutHints undefined (e.g. not set on the table)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"layoutHints undefined (e.g. not set on the table)"},{"ancestorTitles":["IrisGridTreeTableModel layoutHints"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"IrisGridTreeTableModel layoutHints layoutHints property does not exist should not crash","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"layoutHints property does not exist should not crash"}],"endTime":1726597235159,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/IrisGridTreeTableModel.test.ts","startTime":1726597235014,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["tokensForCell"],"duration":22,"failureDetails":[],"failureMessages":[],"fullName":"tokensForCell should return tokens for a cell","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return tokens for a cell"},{"ancestorTitles":["tokensForCell"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"tokensForCell should return multiple tokens for a cell","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return multiple tokens for a cell"},{"ancestorTitles":["tokensForCell"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"tokensForCell should return an empty array for a cell with no tokens","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an empty array for a cell with no tokens"}],"endTime":1726597235190,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/grid/src/MockGridModel.test.ts","startTime":1726597234783,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":19,"failureDetails":[],"failureMessages":[],"fullName":"properly reports values after initial creation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"properly reports values after initial creation"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"updates row count properly when expanding/collapsing nested rows","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"updates row count properly when expanding/collapsing nested rows"},{"ancestorTitles":[],"duration":12,"failureDetails":[],"failureMessages":[],"fullName":"updates properly when expanding multiple rows at the same level","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"updates properly when expanding multiple rows at the same level"}],"endTime":1726597235269,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/grid/src/MockTreeGridModel.test.ts","startTime":1726597234990,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["month parsing tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"month parsing tests parses months passed as numbers properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"parses months passed as numbers properly"},{"ancestorTitles":["month parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"month parsing tests parses months passed as strings properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"parses months passed as strings properly"},{"ancestorTitles":["month parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"month parsing tests returns NaN for invalid cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns NaN for invalid cases"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests handles YYYY","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles YYYY"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests handles YYYY-mm","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles YYYY-mm"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests handles YYYY-xxx","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles YYYY-xxx"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests handles YYYY-m-d","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles YYYY-m-d"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests handles YYYY-mm-dd","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles YYYY-mm-dd"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests handles YYYY-mm-ddTHH","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles YYYY-mm-ddTHH"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests handles YYYY-mm-ddTHH:mm","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles YYYY-mm-ddTHH:mm"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests handles YYYY-mm-ddTHH:mm:ss","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles YYYY-mm-ddTHH:mm:ss"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests handles YYYY-mm-ddTHH:mm:ss.SSS","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles YYYY-mm-ddTHH:mm:ss.SSS"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests handles YYYY-mm-dd HH:mm:ss.SSSSSS","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles YYYY-mm-dd HH:mm:ss.SSSSSS"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests handles YYYY-mm-dd HH:mm:ss.SSSSSS","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles YYYY-mm-dd HH:mm:ss.SSSSSS"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests handles YYYY-mm-dd HH:mm:ss.SSSSSSSSS","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles YYYY-mm-dd HH:mm:ss.SSSSSSSSS"},{"ancestorTitles":["dateTimeString parsing tests"],"duration":23,"failureDetails":[],"failureMessages":[],"fullName":"dateTimeString parsing tests throws an error for invalid dates","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws an error for invalid dates"},{"ancestorTitles":["makeDateWrapper"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeDateWrapper should use default values if not given arguments","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should use default values if not given arguments"},{"ancestorTitles":["parseDateValues"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseDateValues should return null if any value is invalid","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if any value is invalid"},{"ancestorTitles":["parseDateRange"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange should throw an error if the text is empty","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error if the text is empty"},{"ancestorTitles":["parseDateRange"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange should return a range of null values if text is \"null\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a range of null values if text is \"null\""},{"ancestorTitles":["parseDateRange","a range from today to tomorrow if text is keyword \"today\""],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange a range from today to tomorrow if text is keyword \"today\" should work with keyword \"today\" for date 2023-05-15T05:00:00.000Z","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should work with keyword \"today\" for date 2023-05-15T05:00:00.000Z"},{"ancestorTitles":["parseDateRange","a range from today to tomorrow if text is keyword \"today\""],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange a range from today to tomorrow if text is keyword \"today\" should work with keyword \"today\" for date 2023-05-01T05:00:00.000Z","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should work with keyword \"today\" for date 2023-05-01T05:00:00.000Z"},{"ancestorTitles":["parseDateRange","a range from today to tomorrow if text is keyword \"today\""],"duration":35,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange a range from today to tomorrow if text is keyword \"today\" should work with keyword \"today\" for date 2023-05-31T05:00:00.000Z","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should work with keyword \"today\" for date 2023-05-31T05:00:00.000Z"},{"ancestorTitles":["parseDateRange","a range from today to tomorrow if text is keyword \"today\""],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange a range from today to tomorrow if text is keyword \"today\" should work with keyword \"today\" for date 2023-01-01T06:00:00.000Z","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should work with keyword \"today\" for date 2023-01-01T06:00:00.000Z"},{"ancestorTitles":["parseDateRange","a range from today to tomorrow if text is keyword \"today\""],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange a range from today to tomorrow if text is keyword \"today\" should work with keyword \"today\" for date 2023-12-31T06:00:00.000Z","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should work with keyword \"today\" for date 2023-12-31T06:00:00.000Z"},{"ancestorTitles":["parseDateRange","a range from yesterday to today if text is keyword \"yesterday\""],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange a range from yesterday to today if text is keyword \"yesterday\" should work with keyword \"yesterday\" for date 2023-05-15T05:00:00.000Z","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should work with keyword \"yesterday\" for date 2023-05-15T05:00:00.000Z"},{"ancestorTitles":["parseDateRange","a range from yesterday to today if text is keyword \"yesterday\""],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange a range from yesterday to today if text is keyword \"yesterday\" should work with keyword \"yesterday\" for date 2023-05-01T05:00:00.000Z","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should work with keyword \"yesterday\" for date 2023-05-01T05:00:00.000Z"},{"ancestorTitles":["parseDateRange","a range from yesterday to today if text is keyword \"yesterday\""],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange a range from yesterday to today if text is keyword \"yesterday\" should work with keyword \"yesterday\" for date 2023-05-31T05:00:00.000Z","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should work with keyword \"yesterday\" for date 2023-05-31T05:00:00.000Z"},{"ancestorTitles":["parseDateRange","a range from yesterday to today if text is keyword \"yesterday\""],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange a range from yesterday to today if text is keyword \"yesterday\" should work with keyword \"yesterday\" for date 2023-01-01T06:00:00.000Z","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should work with keyword \"yesterday\" for date 2023-01-01T06:00:00.000Z"},{"ancestorTitles":["parseDateRange","a range from yesterday to today if text is keyword \"yesterday\""],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange a range from yesterday to today if text is keyword \"yesterday\" should work with keyword \"yesterday\" for date 2023-12-31T06:00:00.000Z","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should work with keyword \"yesterday\" for date 2023-12-31T06:00:00.000Z"},{"ancestorTitles":["parseDateRange"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange should return null as the end range if text is \"now\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null as the end range if text is \"now\""},{"ancestorTitles":["parseDateRange"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"parseDateRange should throw an error if a value in text is invalid","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error if a value in text is invalid"},{"ancestorTitles":["getJsDate"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getJsDate returns a date object given that input is a number","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns a date object given that input is a number"},{"ancestorTitles":["getJsDate"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getJsDate returns a date object given a DateWrapper","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns a date object given a DateWrapper"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should return given string if no overflow: 2024","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return given string if no overflow: 2024"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should return given string if no overflow: 2012-04","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return given string if no overflow: 2012-04"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should return given string if no overflow: 2012-04-20","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return given string if no overflow: 2012-04-20"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should return given string if no overflow: 2012-04-20T12","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return given string if no overflow: 2012-04-20T12"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should return given string if no overflow: 2012-04-20T12:13","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return given string if no overflow: 2012-04-20T12:13"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should return given string if no overflow: 2012-04-20T12:13:14","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return given string if no overflow: 2012-04-20T12:13:14"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should return given string if no overflow: 2012-04-20T12:13:14.321","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return given string if no overflow: 2012-04-20T12:13:14.321"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should trim date time string overflow: 2024","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trim date time string overflow: 2024"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should trim date time string overflow: 2012-04","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trim date time string overflow: 2012-04"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should trim date time string overflow: 2012-04-20","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trim date time string overflow: 2012-04-20"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should trim date time string overflow: 2012-04-20T12","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trim date time string overflow: 2012-04-20T12"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should trim date time string overflow: 2012-04-20T12:13","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trim date time string overflow: 2012-04-20T12:13"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should trim date time string overflow: 2012-04-20T12:13:14","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trim date time string overflow: 2012-04-20T12:13:14"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should trim date time string overflow: 2012-04-20T12:13:14.321","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trim date time string overflow: 2012-04-20T12:13:14.321"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2024overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2024overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2012-04overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2012-04overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2012-04-20overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2012-04-20overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2012-04-20T12overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2012-04-20T12overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2012-04-20T12:13overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2012-04-20T12:13overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2012-04-20T12:13:14overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2012-04-20T12:13:14overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2012-04-20T12:13:14.321overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2012-04-20T12:13:14.321overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2024overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2024overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2012-04 overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2012-04 overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2012-04-20 overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2012-04-20 overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2012-04-20T12 overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2012-04-20T12 overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2012-04-20T12:13 overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2012-04-20T12:13 overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2012-04-20T12:13:14 overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2012-04-20T12:13:14 overflow"},{"ancestorTitles":["trimDateTimeStringTimeZone"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"trimDateTimeStringTimeZone should throw for invalid timezone overflow: 2012-04-20T12:13:14.321 overflow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw for invalid timezone overflow: 2012-04-20T12:13:14.321 overflow"}],"endTime":1726597235312,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/DateUtils.test.ts","startTime":1726597235003,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["mergeRefs"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"mergeRefs merges ref objects","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"merges ref objects"},{"ancestorTitles":["mergeRefs"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"mergeRefs merges ref callbacks","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"merges ref callbacks"},{"ancestorTitles":["mergeRefs"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"mergeRefs ignores null/undefined refs","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"ignores null/undefined refs"},{"ancestorTitles":["useMergeRef"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useMergeRef should assign the ref to all refs passed in","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should assign the ref to all refs passed in"},{"ancestorTitles":["useMergeRef"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useMergeRef should assign the ref to all refs passed in with null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should assign the ref to all refs passed in with null"},{"ancestorTitles":["useMergeRef"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useMergeRef should work with non-function refs","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should work with non-function refs"},{"ancestorTitles":["useMergeRef"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useMergeRef should handle a mix of function and non-function refs","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle a mix of function and non-function refs"}],"endTime":1726597235326,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useMergeRef.test.ts","startTime":1726597235058,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["ExtendableComponent"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"ExtendableComponent should render the original component","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the original component"},{"ancestorTitles":["ExtendableComponent"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"ExtendableComponent should render the replacement component","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the replacement component"},{"ancestorTitles":["ExtendableComponent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"ExtendableComponent should render the original component inside the replacement component","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the original component inside the replacement component"},{"ancestorTitles":["ExtendableComponent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"ExtendableComponent should render the original component with props","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the original component with props"},{"ancestorTitles":["ExtendableComponent"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"ExtendableComponent should render the replacement component with props","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the replacement component with props"},{"ancestorTitles":["ExtendableComponent"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"ExtendableComponent should render the original ref component","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the original ref component"},{"ancestorTitles":["ExtendableComponent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"ExtendableComponent should render the replacement ref component","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the replacement ref component"},{"ancestorTitles":["ExtendableComponent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"ExtendableComponent should render the original class component","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the original class component"},{"ancestorTitles":["ExtendableComponent"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"ExtendableComponent should render the replacement class component","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the replacement class component"},{"ancestorTitles":["ExtendableComponent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"ExtendableComponent should render the original class component with the ref","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the original class component with the ref"},{"ancestorTitles":["ExtendableComponent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"ExtendableComponent should render the replacement class component with the ref","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the replacement class component with the ref"}],"endTime":1726597235349,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/XComponent.test.tsx","startTime":1726597235158,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["assertInstanceOf"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"assertInstanceOf should not throw if an instance of","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not throw if an instance of"},{"ancestorTitles":["assertInstanceOf"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"assertInstanceOf should throw if not an instance of","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if not an instance of"},{"ancestorTitles":["assertInstanceOf"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"assertInstanceOf should throw if not an instance of","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if not an instance of"},{"ancestorTitles":["assertInstanceOf"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"assertInstanceOf should throw if not an instance of","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if not an instance of"},{"ancestorTitles":["assertInstanceOf"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"assertInstanceOf should throw if not an instance of","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if not an instance of"},{"ancestorTitles":["assertInstanceOf"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"assertInstanceOf should throw if not an instance of","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if not an instance of"},{"ancestorTitles":["assertNever"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"assertNever should throw if called","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if called"},{"ancestorTitles":["assertNever"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"assertNever should throw if called","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if called"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"throws an error when a value is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws an error when a value is null"},{"ancestorTitles":["getOrThrow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getOrThrow gets the value if it exists","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"gets the value if it exists"},{"ancestorTitles":["getOrThrow"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getOrThrow gets the value if it exists even if default provided","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"gets the value if it exists even if default provided"},{"ancestorTitles":["getOrThrow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getOrThrow throws if no value set","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws if no value set"},{"ancestorTitles":["getOrThrow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getOrThrow returns default value if provided","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns default value if provided"}],"endTime":1726597235472,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/Asserts.test.ts","startTime":1726597235338,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["fileExtensionToString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"fileExtensionToString handles empty extension","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles empty extension"},{"ancestorTitles":["fileExtensionToString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"fileExtensionToString prepends \".\" to a non-empty argument","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"prepends \".\" to a non-empty argument"},{"ancestorTitles":["getCopyFileName"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getCopyFileName appends -copy to name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"appends -copy to name"},{"ancestorTitles":["getCopyFileName"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getCopyFileName handles name without extension","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles name without extension"},{"ancestorTitles":["getCopyFileName"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getCopyFileName handles empty name with extension","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles empty name with extension"},{"ancestorTitles":["replaceExtension"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"replaceExtension replaces extension","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"replaces extension"},{"ancestorTitles":["replaceExtension"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"replaceExtension handles name without extension","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles name without extension"},{"ancestorTitles":["replaceExtension"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"replaceExtension handles empty name with extension","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles empty name with extension"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"gets extension","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"gets extension"},{"ancestorTitles":[],"duration":15,"failureDetails":[],"failureMessages":[],"fullName":"gets the path","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"gets the path"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makePath handles names with or without trailing slash","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"makePath handles names with or without trailing slash"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"gets the parent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"gets the parent"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"gets the filename","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"gets the filename"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"gets the depth","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"gets the depth"},{"ancestorTitles":["validateItemName for files"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"validateItemName for files rejects for invalid names","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"rejects for invalid names"},{"ancestorTitles":["validateItemName for files"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"validateItemName for files rejects with correct error messages","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"rejects with correct error messages"},{"ancestorTitles":["validateItemName for files"],"duration":16,"failureDetails":[],"failureMessages":[],"fullName":"validateItemName for files rejects for reserved names","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"rejects for reserved names"},{"ancestorTitles":["validateItemName for files"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"validateItemName for files resolves for valid name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"resolves for valid name"},{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"reduces a selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"reduces a selection"},{"ancestorTitles":["removeRoot"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"removeRoot handles empty root argument","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles empty root argument"},{"ancestorTitles":["removeRoot"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"removeRoot throws error if filename doesn't start with root","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws error if filename doesn't start with root"},{"ancestorTitles":["removeRoot"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"removeRoot returns filename without the root","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns filename without the root"}],"endTime":1726597235481,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/file-explorer/src/FileUtils.test.ts","startTime":1726597235196,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should register components with COMPONENT or displayName attributes and deregister on unmount: \"ClassCOMPONENT\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register components with COMPONENT or displayName attributes and deregister on unmount: \"ClassCOMPONENT\""},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should register components with COMPONENT or displayName attributes and deregister on unmount: \"ClassDisplayName\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register components with COMPONENT or displayName attributes and deregister on unmount: \"ClassDisplayName\""},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should register components with COMPONENT or displayName attributes and deregister on unmount: \"FnCOMPONENT\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register components with COMPONENT or displayName attributes and deregister on unmount: \"FnCOMPONENT\""},{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"should register components with COMPONENT or displayName attributes and deregister on unmount: \"FnDisplayName\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register components with COMPONENT or displayName attributes and deregister on unmount: \"FnDisplayName\""},{"ancestorTitles":[],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"should throw an error if no COMPONENT or displayName attribute exists: \"MockClassNoName\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error if no COMPONENT or displayName attribute exists: \"MockClassNoName\""},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should throw an error if no COMPONENT or displayName attribute exists: \"MockFnNoName\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error if no COMPONENT or displayName attribute exists: \"MockFnNoName\""}],"endTime":1726597235483,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard/src/layout/usePanelRegistration.test.tsx","startTime":1726597235224,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["getAllMethodNames"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getAllMethodNames should return all method names: true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return all method names: true"},{"ancestorTitles":["getAllMethodNames"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getAllMethodNames should return all method names: false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return all method names: false"},{"ancestorTitles":["bindAllMethods"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"bindAllMethods should bind all methods: true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all methods: true"},{"ancestorTitles":["bindAllMethods"],"duration":9,"failureDetails":[],"failureMessages":[],"fullName":"bindAllMethods should bind all methods: false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all methods: false"},{"ancestorTitles":["bindAllMethods"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"bindAllMethods should bind all methods: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all methods: undefined"}],"endTime":1726597235514,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ClassUtils.test.ts","startTime":1726597235176,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useGetItemPosition: topOffset:undefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:undefined should return topOffset if table is null or undefined: table:undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return topOffset if table is null or undefined: table:undefined"},{"ancestorTitles":["useGetItemPosition: topOffset:undefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:undefined should return topOffset if table is null or undefined: table:null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return topOffset if table is null or undefined: table:null"},{"ancestorTitles":["useGetItemPosition: topOffset:undefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:undefined should return topOffset when value equals defaultValue or empty string: value:mock.defaultValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return topOffset when value equals defaultValue or empty string: value:mock.defaultValue"},{"ancestorTitles":["useGetItemPosition: topOffset:undefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:undefined should return topOffset when value equals defaultValue or empty string: value:","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return topOffset when value equals defaultValue or empty string: value:"},{"ancestorTitles":["useGetItemPosition: topOffset:undefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:undefined should create a callback that returns an item position: givenDefaultValue:undefined, expectedItemOffset:0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a callback that returns an item position: givenDefaultValue:undefined, expectedItemOffset:0"},{"ancestorTitles":["useGetItemPosition: topOffset:undefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:undefined should create a callback that returns an item position: givenDefaultValue:null, expectedItemOffset:0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a callback that returns an item position: givenDefaultValue:null, expectedItemOffset:0"},{"ancestorTitles":["useGetItemPosition: topOffset:undefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:undefined should create a callback that returns an item position: givenDefaultValue:mock.defaultValue, expectedItemOffset:1","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a callback that returns an item position: givenDefaultValue:mock.defaultValue, expectedItemOffset:1"},{"ancestorTitles":["useGetItemPosition: topOffset:4"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:4 should return topOffset if table is null or undefined: table:undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return topOffset if table is null or undefined: table:undefined"},{"ancestorTitles":["useGetItemPosition: topOffset:4"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:4 should return topOffset if table is null or undefined: table:null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return topOffset if table is null or undefined: table:null"},{"ancestorTitles":["useGetItemPosition: topOffset:4"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:4 should return topOffset when value equals defaultValue or empty string: value:mock.defaultValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return topOffset when value equals defaultValue or empty string: value:mock.defaultValue"},{"ancestorTitles":["useGetItemPosition: topOffset:4"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:4 should return topOffset when value equals defaultValue or empty string: value:","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return topOffset when value equals defaultValue or empty string: value:"},{"ancestorTitles":["useGetItemPosition: topOffset:4"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:4 should create a callback that returns an item position: givenDefaultValue:undefined, expectedItemOffset:0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a callback that returns an item position: givenDefaultValue:undefined, expectedItemOffset:0"},{"ancestorTitles":["useGetItemPosition: topOffset:4"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:4 should create a callback that returns an item position: givenDefaultValue:null, expectedItemOffset:0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a callback that returns an item position: givenDefaultValue:null, expectedItemOffset:0"},{"ancestorTitles":["useGetItemPosition: topOffset:4"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useGetItemPosition: topOffset:4 should create a callback that returns an item position: givenDefaultValue:mock.defaultValue, expectedItemOffset:1","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a callback that returns an item position: givenDefaultValue:mock.defaultValue, expectedItemOffset:1"}],"endTime":1726597235522,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useGetItemPosition.test.ts","startTime":1726597235360,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":11,"failureDetails":[],"failureMessages":[],"fullName":"should create a callback that sets a padded viewport","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a callback that sets a padded viewport"}],"endTime":1726597235576,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useSetPaddedViewportCallback.test.ts","startTime":1726597235274,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["single item in single list"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"single item in single list handles dragging item to the next index","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles dragging item to the next index"},{"ancestorTitles":["single item in single list"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"single item in single list handles dragging top item to the end","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles dragging top item to the end"},{"ancestorTitles":["single item in single list"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"single item in single list handles dragging bottom item to the top","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles dragging bottom item to the top"},{"ancestorTitles":["multi drag in single list"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"multi drag in single list handles dragging pair to the next index","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles dragging pair to the next index"},{"ancestorTitles":["multi drag in single list"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"multi drag in single list handles dragging non-contiguous ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles dragging non-contiguous ranges"},{"ancestorTitles":["remove items in list"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"remove items in list handles removing the top item","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles removing the top item"},{"ancestorTitles":["remove items in list"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"remove items in list handles removing the bottom item","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles removing the bottom item"},{"ancestorTitles":["remove items in list"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"remove items in list handles removing non-contiguous ranges of items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles removing non-contiguous ranges of items"},{"ancestorTitles":["remove items in list"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"remove items in list handles removing all items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles removing all items"},{"ancestorTitles":["adjusting destination index"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"adjusting destination index does not adjust when all ranges are below","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not adjust when all ranges are below"},{"ancestorTitles":["adjusting destination index"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"adjusting destination index adjusts up for ranges selected above","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adjusts up for ranges selected above"},{"ancestorTitles":["adjusting destination index"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"adjusting destination index adjusts when ranges are above and below","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adjusts when ranges are above and below"},{"ancestorTitles":["adjusting destination index"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"adjusting destination index adjusts when ranges contain the destination index","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adjusts when ranges contain the destination index"}],"endTime":1726597235630,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/DragUtils.test.ts","startTime":1726597235519,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["siftPrunableItems"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"siftPrunableItems should keep all items if size is <= maxItems: 5","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should keep all items if size is <= maxItems: 5"},{"ancestorTitles":["siftPrunableItems"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"siftPrunableItems should keep all items if size is <= maxItems: 6","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should keep all items if size is <= maxItems: 6"},{"ancestorTitles":["siftPrunableItems"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"siftPrunableItems should keep all items if size is <= maxItems: 7","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should keep all items if size is <= maxItems: 7"},{"ancestorTitles":["siftPrunableItems"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"siftPrunableItems should keep all items if size is <= maxItems: 8","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should keep all items if size is <= maxItems: 8"},{"ancestorTitles":["siftPrunableItems"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"siftPrunableItems should keep all items if size is <= maxItems: 9","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should keep all items if size is <= maxItems: 9"},{"ancestorTitles":["siftPrunableItems"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"siftPrunableItems should keep all items if size is <= maxItems: 10","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should keep all items if size is <= maxItems: 10"},{"ancestorTitles":["siftPrunableItems"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"siftPrunableItems should sift items if size is > maxItems: 1, { toKeep: [Array], toPrune: [Array] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should sift items if size is > maxItems: 1, { toKeep: [Array], toPrune: [Array] }"},{"ancestorTitles":["siftPrunableItems"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"siftPrunableItems should sift items if size is > maxItems: 2, { toKeep: [Array], toPrune: [Array] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should sift items if size is > maxItems: 2, { toKeep: [Array], toPrune: [Array] }"},{"ancestorTitles":["siftPrunableItems"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"siftPrunableItems should sift items if size is > maxItems: 3, { toKeep: [Array], toPrune: [Array] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should sift items if size is > maxItems: 3, { toKeep: [Array], toPrune: [Array] }"}],"endTime":1726597235660,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/pouch-storage/src/pouchCommandHistoryUtils.test.ts","startTime":1726597235496,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should initially return empty items array and selectedKeys","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initially return empty items array and selectedKeys"},{"ancestorTitles":["getItem"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"getItem should throw an error if given non-existing key: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error if given non-existing key: undefined"},{"ancestorTitles":["getItem"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getItem should throw an error if given non-existing key: function () {\n return fn.apply(this, arguments);\n }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error if given non-existing key: function () {\n return fn.apply(this, arguments);\n }"},{"ancestorTitles":["getItem"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItem should get item matching key: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should get item matching key: undefined"},{"ancestorTitles":["getItem"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getItem should get item matching key: function () {\n return fn.apply(this, arguments);\n }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should get item matching key: function () {\n return fn.apply(this, arguments);\n }"},{"ancestorTitles":["append"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"append should append items to the list","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should append items to the list"},{"ancestorTitles":["insert"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"insert should insert items at expected index: index:-1, expected:abDEFc","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should insert items at expected index: index:-1, expected:abDEFc"},{"ancestorTitles":["insert"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"insert should insert items at expected index: index:0, expected:DEFabc","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should insert items at expected index: index:0, expected:DEFabc"},{"ancestorTitles":["insert"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"insert should insert items at expected index: index:1, expected:aDEFbc","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should insert items at expected index: index:1, expected:aDEFbc"},{"ancestorTitles":["insert"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"insert should insert items at expected index: index:2, expected:abDEFc","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should insert items at expected index: index:2, expected:abDEFc"},{"ancestorTitles":["insert"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"insert should insert items at expected index: index:3, expected:abcDEF","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should insert items at expected index: index:3, expected:abcDEF"},{"ancestorTitles":["insert"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"insert should insert items at expected index: index:4, expected:abcDEF","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should insert items at expected index: index:4, expected:abcDEF"},{"ancestorTitles":["remove"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"remove should remove items for given keys","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should remove items for given keys"},{"ancestorTitles":["update"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"update should do nothing if given a non-existent key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should do nothing if given a non-existent key"},{"ancestorTitles":["update"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"update should update item by key: |a|bcd","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should update item by key: |a|bcd"},{"ancestorTitles":["update"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"update should update item by key: a|b|cd","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should update item by key: a|b|cd"},{"ancestorTitles":["update"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"update should update item by key: ab|c|d","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should update item by key: ab|c|d"},{"ancestorTitles":["update"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"update should update item by key: abc|d|","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should update item by key: abc|d|"},{"ancestorTitles":["bulkUpdate"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"bulkUpdate should do nothing if given empty item map","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should do nothing if given empty item map"},{"ancestorTitles":["bulkUpdate"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bulkUpdate should bulk update given key / item pairs: a","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bulk update given key / item pairs: a"},{"ancestorTitles":["bulkUpdate"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"bulkUpdate should bulk update given key / item pairs: ade","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bulk update given key / item pairs: ade"},{"ancestorTitles":["bulkUpdate"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bulkUpdate should bulk update given key / item pairs: ab","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bulk update given key / item pairs: ab"},{"ancestorTitles":["bulkUpdate"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bulkUpdate should bulk update given key / item pairs: fg","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bulk update given key / item pairs: fg"},{"ancestorTitles":["defaultGetKey"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"defaultGetKey should throw error if item is not an object with a `key` prop: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw error if item is not an object with a `key` prop: null"},{"ancestorTitles":["defaultGetKey"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"defaultGetKey should throw error if item is not an object with a `key` prop: {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw error if item is not an object with a `key` prop: {}"},{"ancestorTitles":["defaultGetKey"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"defaultGetKey should throw error if item is not an object with a `key` prop: () => undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw error if item is not an object with a `key` prop: () => undefined"},{"ancestorTitles":["defaultGetKey"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"defaultGetKey should return value of `key` prop","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return value of `key` prop"}],"endTime":1726597235661,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useWindowedListData.test.ts","startTime":1726597235527,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["trimMap"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"trimMap does not change map if within trim size","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not change map if within trim size"},{"ancestorTitles":["trimMap"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"trimMap trims map if larger than cache size","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"trims map if larger than cache size"}],"endTime":1726597235677,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/grid/src/GridMetricCalculator.test.ts","startTime":1726597235494,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useCheckOverflow"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useCheckOverflow should check if a Spectrum `DOMRefValue` is overflowing: null, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should check if a Spectrum `DOMRefValue` is overflowing: null, false"},{"ancestorTitles":["useCheckOverflow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useCheckOverflow should check if a Spectrum `DOMRefValue` is overflowing: {\n [Symbol(mockProxyType)]: 'Mock Proxy',\n [Symbol(mockProxyDefaultProps)]: [Object],\n [Symbol(mockProxyOverrides)]: [Object],\n [Symbol(mockProxyProxies)]: {}\n}, true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should check if a Spectrum `DOMRefValue` is overflowing: {\n [Symbol(mockProxyType)]: 'Mock Proxy',\n [Symbol(mockProxyDefaultProps)]: [Object],\n [Symbol(mockProxyOverrides)]: [Object],\n [Symbol(mockProxyProxies)]: {}\n}, true"},{"ancestorTitles":["useCheckOverflow"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useCheckOverflow should check if a Spectrum `DOMRefValue` is overflowing: {\n [Symbol(mockProxyType)]: 'Mock Proxy',\n [Symbol(mockProxyDefaultProps)]: [Object],\n [Symbol(mockProxyOverrides)]: [Object],\n [Symbol(mockProxyProxies)]: {}\n}, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should check if a Spectrum `DOMRefValue` is overflowing: {\n [Symbol(mockProxyType)]: 'Mock Proxy',\n [Symbol(mockProxyDefaultProps)]: [Object],\n [Symbol(mockProxyOverrides)]: [Object],\n [Symbol(mockProxyProxies)]: {}\n}, false"},{"ancestorTitles":["useCheckOverflow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useCheckOverflow should check if a Spectrum `DOMRefValue` is overflowing: {\n [Symbol(mockProxyType)]: 'Mock Proxy',\n [Symbol(mockProxyDefaultProps)]: [Object],\n [Symbol(mockProxyOverrides)]: [Object],\n [Symbol(mockProxyProxies)]: {}\n}, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should check if a Spectrum `DOMRefValue` is overflowing: {\n [Symbol(mockProxyType)]: 'Mock Proxy',\n [Symbol(mockProxyDefaultProps)]: [Object],\n [Symbol(mockProxyOverrides)]: [Object],\n [Symbol(mockProxyProxies)]: {}\n}, false"}],"endTime":1726597235679,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useCheckOverflow.test.ts","startTime":1726597235489,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["usePopoverOnScrollRef"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"usePopoverOnScrollRef should not register scroll handler on close","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not register scroll handler on close"},{"ancestorTitles":["usePopoverOnScrollRef","onOpenChange callback: null"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"usePopoverOnScrollRef onOpenChange callback: null should initialize scroll position on open if given getInitialScrollPosition callback: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initialize scroll position on open if given getInitialScrollPosition callback: undefined"},{"ancestorTitles":["usePopoverOnScrollRef","onOpenChange callback: null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"usePopoverOnScrollRef onOpenChange callback: null should initialize scroll position on open if given getInitialScrollPosition callback: function () {\n return fn.apply(this, arguments);\n }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initialize scroll position on open if given getInitialScrollPosition callback: function () {\n return fn.apply(this, arguments);\n }"},{"ancestorTitles":["usePopoverOnScrollRef","onOpenChange callback: null"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"usePopoverOnScrollRef onOpenChange callback: null should register a scroll handler on open","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register a scroll handler on open"},{"ancestorTitles":["usePopoverOnScrollRef","onOpenChange callback: null"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"usePopoverOnScrollRef onOpenChange callback: null should register a scroll handler on open","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register a scroll handler on open"},{"ancestorTitles":["usePopoverOnScrollRef","onOpenChange callback: null"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"usePopoverOnScrollRef onOpenChange callback: null should call latest onScroll handler on scroll event","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call latest onScroll handler on scroll event"},{"ancestorTitles":["usePopoverOnScrollRef","onOpenChange callback: 999"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"usePopoverOnScrollRef onOpenChange callback: 999 should initialize scroll position on open if given getInitialScrollPosition callback: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initialize scroll position on open if given getInitialScrollPosition callback: undefined"},{"ancestorTitles":["usePopoverOnScrollRef","onOpenChange callback: 999"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"usePopoverOnScrollRef onOpenChange callback: 999 should initialize scroll position on open if given getInitialScrollPosition callback: function () {\n return fn.apply(this, arguments);\n }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initialize scroll position on open if given getInitialScrollPosition callback: function () {\n return fn.apply(this, arguments);\n }"},{"ancestorTitles":["usePopoverOnScrollRef","onOpenChange callback: 999"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"usePopoverOnScrollRef onOpenChange callback: 999 should register a scroll handler on open","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register a scroll handler on open"},{"ancestorTitles":["usePopoverOnScrollRef","onOpenChange callback: 999"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"usePopoverOnScrollRef onOpenChange callback: 999 should register a scroll handler on open","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register a scroll handler on open"},{"ancestorTitles":["usePopoverOnScrollRef","onOpenChange callback: 999"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"usePopoverOnScrollRef onOpenChange callback: 999 should call latest onScroll handler on scroll event","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call latest onScroll handler on scroll event"}],"endTime":1726597235729,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/usePopoverOnScrollRef.test.tsx","startTime":1726597235337,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["Windows shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Windows shortcuts Creates a valid single key shortcut","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Creates a valid single key shortcut"},{"ancestorTitles":["Windows shortcuts"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Windows shortcuts Creates a valid shortcut with a single modifier","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Creates a valid shortcut with a single modifier"},{"ancestorTitles":["Windows shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Windows shortcuts Creates a valid shortcut with multiple modifiers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Creates a valid shortcut with multiple modifiers"},{"ancestorTitles":["Windows shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Windows shortcuts Creates the right shortcut when the 2 platform shortcuts are different lengths","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Creates the right shortcut when the 2 platform shortcuts are different lengths"},{"ancestorTitles":["Windows shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Windows shortcuts Shortens Escape display to Esc","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Shortens Escape display to Esc"},{"ancestorTitles":["Mac shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Creates a valid single key shortcut","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Creates a valid single key shortcut"},{"ancestorTitles":["Mac shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Creates a valid shortcut with a single modifier","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Creates a valid shortcut with a single modifier"},{"ancestorTitles":["Mac shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Creates a valid shortcut with multiple modifiers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Creates a valid shortcut with multiple modifiers"},{"ancestorTitles":["Mac shortcuts"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Creates the right shortcut when the 2 platform shortcuts are different lengths","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Creates the right shortcut when the 2 platform shortcuts are different lengths"},{"ancestorTitles":["Mac shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Replaces the enter key display","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Replaces the enter key display"},{"ancestorTitles":["Mac shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Replaces the escape key display","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Replaces the escape key display"},{"ancestorTitles":["Mac shortcuts"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Mac shortcuts Replaces the backspace key display","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Replaces the backspace key display"}],"endTime":1726597235732,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/shortcuts/Shortcut.test.ts","startTime":1726597235588,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["Table name validation"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Table name validation Returns true on valid table names","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Returns true on valid table names"},{"ancestorTitles":["Table name validation"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Table name validation Returns false on invalid table names","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Returns false on invalid table names"},{"ancestorTitles":["Column name validation"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Column name validation Returns true on valid column names","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Returns true on valid column names"},{"ancestorTitles":["Column name validation"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Column name validation Returns false on invalid column names","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Returns false on invalid column names"},{"ancestorTitles":["Column name validation"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Column name validation Returns false on reserved Java keyword","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Returns false on reserved Java keyword"},{"ancestorTitles":["Column name validation"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Column name validation Returns false on reserved Deephaven keyword","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Returns false on reserved Deephaven keyword"},{"ancestorTitles":["legalizeTableName"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"legalizeTableName Does not change a valid table name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Does not change a valid table name"},{"ancestorTitles":["legalizeTableName"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"legalizeTableName Legalize an invalid table name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Legalize an invalid table name"},{"ancestorTitles":["legalizeTableName"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"legalizeTableName Renames a table name with no valid chars to table_0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Renames a table name with no valid chars to table_0"},{"ancestorTitles":["legalizeTableName"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"legalizeTableName Prefixes a column name starting with a number","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Prefixes a column name starting with a number"},{"ancestorTitles":["legalizeColumnName"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"legalizeColumnName Does not change a valid column name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Does not change a valid column name"},{"ancestorTitles":["legalizeColumnName"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"legalizeColumnName Legalize an invalid column name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Legalize an invalid column name"},{"ancestorTitles":["legalizeColumnName"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"legalizeColumnName Prefixes a column name that is a reserved word","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Prefixes a column name that is a reserved word"},{"ancestorTitles":["legalizeColumnName"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"legalizeColumnName Prefixes a column name starting with a number","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Prefixes a column name starting with a number"},{"ancestorTitles":["legalizeColumnNames"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"legalizeColumnNames Legalizes an array of mixed validity column names","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Legalizes an array of mixed validity column names"},{"ancestorTitles":["legalizeColumnNames"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"legalizeColumnNames Renames a duplicate column name to column_i","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Renames a duplicate column name to column_i"}],"endTime":1726597235744,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/DbNameValidator.test.ts","startTime":1726597235640,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["getSelectedItemCountOrAll"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getSelectedItemCountOrAll should return 0 if size is 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return 0 if size is 0"},{"ancestorTitles":["getSelectedItemCountOrAll"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getSelectedItemCountOrAll should return 0 if size is 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return 0 if size is 0"},{"ancestorTitles":["getSelectedItemCountOrAll"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getSelectedItemCountOrAll should return 0 if size is 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return 0 if size is 0"},{"ancestorTitles":["getSelectedItemCountOrAll"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getSelectedItemCountOrAll should return \"all\" if all selected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return \"all\" if all selected"},{"ancestorTitles":["getSelectedItemCountOrAll"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getSelectedItemCountOrAll should return \"all\" if all selected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return \"all\" if all selected"},{"ancestorTitles":["getSelectedItemCountOrAll"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getSelectedItemCountOrAll should return selection size if not all selected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return selection size if not all selected"},{"ancestorTitles":["isSelectionEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionEqual should return true if selections represent the same selected values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values"},{"ancestorTitles":["isSelectionEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionEqual should return true if selections represent the same selected values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values"},{"ancestorTitles":["isSelectionEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionEqual should return true if selections represent the same selected values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values"},{"ancestorTitles":["isSelectionEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionEqual should return true if selections represent the same selected values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values"},{"ancestorTitles":["isSelectionEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionEqual should return true if selections represent the same selected values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values"},{"ancestorTitles":["isSelectionEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionEqual should return true if selections represent the same selected values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values"},{"ancestorTitles":["isSelectionEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionEqual should return true if selections represent the same selected values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:all, selectionB:all","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:all, selectionB:all"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:Set(0) {}, selectionB:Set(0) {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:Set(0) {}, selectionB:Set(0) {}"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'a', 'b', 'c' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'a', 'b', 'c' }"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:all, selectionB:Set(0) {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:all, selectionB:Set(0) {}"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:Set(0) {}, selectionB:all","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:Set(0) {}, selectionB:all"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:Set(0) {}, selectionB:Set(3) { 'a', 'b', 'c' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:Set(0) {}, selectionB:Set(3) { 'a', 'b', 'c' }"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'd', 'e', 'f' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:false, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'd', 'e', 'f' }"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:all, selectionB:all","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:all, selectionB:all"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:Set(0) {}, selectionB:Set(0) {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:Set(0) {}, selectionB:Set(0) {}"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'a', 'b', 'c' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'a', 'b', 'c' }"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:all, selectionB:Set(0) {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:all, selectionB:Set(0) {}"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:Set(0) {}, selectionB:all","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:Set(0) {}, selectionB:all"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:Set(0) {}, selectionB:Set(3) { 'a', 'b', 'c' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:Set(0) {}, selectionB:Set(3) { 'a', 'b', 'c' }"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'd', 'e', 'f' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:true, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'd', 'e', 'f' }"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:all, selectionB:all","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:all, selectionB:all"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:Set(0) {}, selectionB:Set(0) {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:Set(0) {}, selectionB:Set(0) {}"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'a', 'b', 'c' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'a', 'b', 'c' }"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:all, selectionB:Set(0) {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:all, selectionB:Set(0) {}"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:Set(0) {}, selectionB:all","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:Set(0) {}, selectionB:all"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:Set(0) {}, selectionB:Set(3) { 'a', 'b', 'c' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:Set(0) {}, selectionB:Set(3) { 'a', 'b', 'c' }"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'd', 'e', 'f' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:true, isInvertedB:true, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'd', 'e', 'f' }"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:all, selectionB:all","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:all, selectionB:all"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:Set(0) {}, selectionB:Set(0) {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:Set(0) {}, selectionB:Set(0) {}"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'a', 'b', 'c' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'a', 'b', 'c' }"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:all, selectionB:Set(0) {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:all, selectionB:Set(0) {}"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:Set(0) {}, selectionB:all","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:Set(0) {}, selectionB:all"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:Set(0) {}, selectionB:Set(3) { 'a', 'b', 'c' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:Set(0) {}, selectionB:Set(3) { 'a', 'b', 'c' }"},{"ancestorTitles":["isSelectionMaybeInvertedEqual"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelectionMaybeInvertedEqual should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'd', 'e', 'f' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if selections represent the same selected values: isInvertedA:false, isInvertedB:false, selectionA:Set(3) { 'a', 'b', 'c' }, selectionB:Set(3) { 'd', 'e', 'f' }"},{"ancestorTitles":["mapSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"mapSelection should return \"all\" if given \"all\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return \"all\" if given \"all\""},{"ancestorTitles":["mapSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"mapSelection should return mapped items for selected keys","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return mapped items for selected keys"},{"ancestorTitles":["optimizeSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"optimizeSelection should invert selection if selection is \"all\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should invert selection if selection is \"all\""},{"ancestorTitles":["optimizeSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"optimizeSelection should invert selection if selection size > half the total size","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should invert selection if selection size > half the total size"},{"ancestorTitles":["optimizeSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"optimizeSelection should invert selection if selection size > half the total size","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should invert selection if selection size > half the total size"},{"ancestorTitles":["optimizeSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"optimizeSelection should invert selection if selection size > half the total size","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should invert selection if selection size > half the total size"},{"ancestorTitles":["optimizeSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"optimizeSelection should invert selection if selection size > half the total size","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should invert selection if selection size > half the total size"},{"ancestorTitles":["optimizeSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"optimizeSelection should invert selection if selection size > half the total size","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should invert selection if selection size > half the total size"},{"ancestorTitles":["optimizeSelection"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"optimizeSelection should invert selection if selection size > half the total size","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should invert selection if selection size > half the total size"}],"endTime":1726597235810,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/SelectionUtils.test.ts","startTime":1726597235666,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should throttle a given callback","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throttle a given callback"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should cancel throttle if component unmounts","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should cancel throttle if component unmounts"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should call the updated callback if the ref changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call the updated callback if the ref changes"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should flush on unmount if that option is set","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should flush on unmount if that option is set"}],"endTime":1726597235830,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useThrottledCallback.test.ts","startTime":1726597235734,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["hasRequiredString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hasRequiredString should return true if all listed props are non-empty strings: { s1: 'non-empty', s2: 'non-empty', s3: 'non-empty' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if all listed props are non-empty strings: { s1: 'non-empty', s2: 'non-empty', s3: 'non-empty' }"},{"ancestorTitles":["hasRequiredString"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"hasRequiredString should return true if all listed props are non-empty strings: { s1: 'non-empty', s2: 'non-empty', s3: 'non-empty', n1: 999 }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if all listed props are non-empty strings: { s1: 'non-empty', s2: 'non-empty', s3: 'non-empty', n1: 999 }"},{"ancestorTitles":["hasRequiredString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hasRequiredString should return false if any listed property is not an non-empty string: { s1: 'non-empty', s2: 'non-empty', s3: '' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if any listed property is not an non-empty string: { s1: 'non-empty', s2: 'non-empty', s3: '' }"},{"ancestorTitles":["hasRequiredString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hasRequiredString should return false if any listed property is not an non-empty string: { s1: 'non-empty', s2: '', s3: '' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if any listed property is not an non-empty string: { s1: 'non-empty', s2: '', s3: '' }"},{"ancestorTitles":["hasRequiredString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hasRequiredString should return false if any listed property is not an non-empty string: { s1: '', s2: '', s3: '' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if any listed property is not an non-empty string: { s1: '', s2: '', s3: '' }"},{"ancestorTitles":["hasRequiredString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hasRequiredString should return false if any listed property is not an non-empty string: { s1: 'non-empty', s2: 'non-empty' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if any listed property is not an non-empty string: { s1: 'non-empty', s2: 'non-empty' }"},{"ancestorTitles":["hasRequiredString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hasRequiredString should return false if any listed property is not an non-empty string: { s1: 'non-empty' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if any listed property is not an non-empty string: { s1: 'non-empty' }"},{"ancestorTitles":["hasRequiredString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"hasRequiredString should return false if any listed property is not an non-empty string: {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if any listed property is not an non-empty string: {}"}],"endTime":1726597235832,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/hasRequiredString.test.ts","startTime":1726597235683,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["plugin type guard: DashboardPlugin"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: DashboardPlugin should return true for expected plugin type: DashboardPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: DashboardPlugin"},{"ancestorTitles":["plugin type guard: DashboardPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: DashboardPlugin should return true for expected plugin type: AuthPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: AuthPlugin"},{"ancestorTitles":["plugin type guard: DashboardPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: DashboardPlugin should return true for expected plugin type: TablePlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: TablePlugin"},{"ancestorTitles":["plugin type guard: DashboardPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: DashboardPlugin should return true for expected plugin type: ThemePlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: ThemePlugin"},{"ancestorTitles":["plugin type guard: DashboardPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: DashboardPlugin should return true for expected plugin type: WidgetPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: WidgetPlugin"},{"ancestorTitles":["plugin type guard: AuthPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: AuthPlugin should return true for expected plugin type: DashboardPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: DashboardPlugin"},{"ancestorTitles":["plugin type guard: AuthPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: AuthPlugin should return true for expected plugin type: AuthPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: AuthPlugin"},{"ancestorTitles":["plugin type guard: AuthPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: AuthPlugin should return true for expected plugin type: TablePlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: TablePlugin"},{"ancestorTitles":["plugin type guard: AuthPlugin"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: AuthPlugin should return true for expected plugin type: ThemePlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: ThemePlugin"},{"ancestorTitles":["plugin type guard: AuthPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: AuthPlugin should return true for expected plugin type: WidgetPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: WidgetPlugin"},{"ancestorTitles":["plugin type guard: TablePlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: TablePlugin should return true for expected plugin type: DashboardPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: DashboardPlugin"},{"ancestorTitles":["plugin type guard: TablePlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: TablePlugin should return true for expected plugin type: AuthPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: AuthPlugin"},{"ancestorTitles":["plugin type guard: TablePlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: TablePlugin should return true for expected plugin type: TablePlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: TablePlugin"},{"ancestorTitles":["plugin type guard: TablePlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: TablePlugin should return true for expected plugin type: ThemePlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: ThemePlugin"},{"ancestorTitles":["plugin type guard: TablePlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: TablePlugin should return true for expected plugin type: WidgetPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: WidgetPlugin"},{"ancestorTitles":["plugin type guard: ThemePlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: ThemePlugin should return true for expected plugin type: DashboardPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: DashboardPlugin"},{"ancestorTitles":["plugin type guard: ThemePlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: ThemePlugin should return true for expected plugin type: AuthPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: AuthPlugin"},{"ancestorTitles":["plugin type guard: ThemePlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: ThemePlugin should return true for expected plugin type: TablePlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: TablePlugin"},{"ancestorTitles":["plugin type guard: ThemePlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: ThemePlugin should return true for expected plugin type: ThemePlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: ThemePlugin"},{"ancestorTitles":["plugin type guard: ThemePlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: ThemePlugin should return true for expected plugin type: WidgetPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: WidgetPlugin"},{"ancestorTitles":["plugin type guard: WidgetPlugin"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: WidgetPlugin should return true for expected plugin type: DashboardPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: DashboardPlugin"},{"ancestorTitles":["plugin type guard: WidgetPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: WidgetPlugin should return true for expected plugin type: AuthPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: AuthPlugin"},{"ancestorTitles":["plugin type guard: WidgetPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: WidgetPlugin should return true for expected plugin type: TablePlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: TablePlugin"},{"ancestorTitles":["plugin type guard: WidgetPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: WidgetPlugin should return true for expected plugin type: ThemePlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: ThemePlugin"},{"ancestorTitles":["plugin type guard: WidgetPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"plugin type guard: WidgetPlugin should return true for expected plugin type: WidgetPlugin","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true for expected plugin type: WidgetPlugin"},{"ancestorTitles":["isPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isPlugin returns true for AUTH_PLUGIN type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for AUTH_PLUGIN type"},{"ancestorTitles":["isPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isPlugin returns true for DASHBOARD_PLUGIN type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for DASHBOARD_PLUGIN type"},{"ancestorTitles":["isPlugin"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isPlugin returns true for WIDGET_PLUGIN type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for WIDGET_PLUGIN type"},{"ancestorTitles":["isPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isPlugin returns true for TABLE_PLUGIN type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for TABLE_PLUGIN type"},{"ancestorTitles":["isPlugin"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isPlugin returns true for THEME_PLUGIN type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for THEME_PLUGIN type"},{"ancestorTitles":["isPlugin"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isPlugin returns false for non-plugin types","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns false for non-plugin types"}],"endTime":1726597235843,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/plugin/src/PluginTypes.test.ts","startTime":1726597235738,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should not throw if constructor called with no arguments","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not throw if constructor called with no arguments"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should have default format in the formats list","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should have default format in the formats list"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should add time zone pattern by default","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should add time zone pattern by default"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should not add time zone pattern if showTimeZone is false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not add time zone pattern if showTimeZone is false"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should not add T separator by default","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not add T separator by default"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should add T separator when showTSeparator is true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should add T separator when showTSeparator is true"},{"ancestorTitles":["calls to iris format and time zone functions"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"calls to iris format and time zone functions should pass custom formatString to the format method","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass custom formatString to the format method"},{"ancestorTitles":["calls to iris format and time zone functions"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"calls to iris format and time zone functions should fall back to the format specified in the constructor args if custom formatString is empty string or undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should fall back to the format specified in the constructor args if custom formatString is empty string or undefined"},{"ancestorTitles":["calls to iris format and time zone functions"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"calls to iris format and time zone functions should fall back to the default format if empty string or undefined format specified in the constructor args","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should fall back to the default format if empty string or undefined format specified in the constructor args"},{"ancestorTitles":["calls to iris format and time zone functions"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"calls to iris format and time zone functions should pass correct TimeZone object to the format function","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass correct TimeZone object to the format function"},{"ancestorTitles":["calls to iris format and time zone functions"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"calls to iris format and time zone functions should fall back to the default time zone if empty string or undefined passed in the constructor args","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should fall back to the default time zone if empty string or undefined passed in the constructor args"},{"ancestorTitles":["isValid"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"isValid should return true if a format is valid","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if a format is valid"},{"ancestorTitles":["isSameFormat"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isSameFormat should return true if two formats are the same excluding label","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if two formats are the same excluding label"},{"ancestorTitles":["isSameFormat"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSameFormat should return false if two formats are different excluding label","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if two formats are different excluding label"},{"ancestorTitles":["makeGlobalFormatStringMap"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeGlobalFormatStringMap should return a global format string map without showing Timezone or Tseparator","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a global format string map without showing Timezone or Tseparator"},{"ancestorTitles":["makeGlobalFormatStringMap"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeGlobalFormatStringMap should return a global format string map showing Timezone but not Tseparator","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a global format string map showing Timezone but not Tseparator"},{"ancestorTitles":["makeGlobalFormatStringMap"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeGlobalFormatStringMap should return a global format string map showing Tseparator but not Timezone","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a global format string map showing Tseparator but not Timezone"},{"ancestorTitles":["makeGlobalFormatStringMap"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeGlobalFormatStringMap should return a global format string map show Tseparator and Timezone","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a global format string map show Tseparator and Timezone"},{"ancestorTitles":["getGlobalFormats"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getGlobalFormats should get global formats","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should get global formats"}],"endTime":1726597235847,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/formatters/DateTimeColumnFormatter.test.ts","startTime":1726597235673,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["multiplier tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"multiplier tests handles null multiplier correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles null multiplier correctly"},{"ancestorTitles":["multiplier tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"multiplier tests handles undefined multiplier correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles undefined multiplier correctly"},{"ancestorTitles":["multiplier tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"multiplier tests ignores 0 multiplier correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"ignores 0 multiplier correctly"},{"ancestorTitles":["multiplier tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"multiplier tests handles 1 multiplier correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 1 multiplier correctly"},{"ancestorTitles":["multiplier tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"multiplier tests handles 2 multiplier correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 2 multiplier correctly"}],"endTime":1726597235850,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/formatters/DecimalColumnFormatter.test.ts","startTime":1726597235750,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"renders without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders without crashing"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"handles the context menu event on the parent, renders an array of menu items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles the context menu event on the parent, renders an array of menu items"},{"ancestorTitles":[],"duration":56,"failureDetails":[],"failureMessages":[],"fullName":"renders a promise returning menu items properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders a promise returning menu items properly"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"renders an empty menu for a rejected promise","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders an empty menu for a rejected promise"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"renders a menu from a promise returned from a function","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders a menu from a promise returned from a function"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sorts by title properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sorts by title properly"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sorts by order properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sorts by order properly"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sorts groups properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sorts groups properly"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sorts mixed groups properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sorts mixed groups properly"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sorts groups/orders properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sorts groups/orders properly"}],"endTime":1726597235870,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/context-actions/ContextActions.test.tsx","startTime":1726597235689,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useSetAttributesCallback"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"useSetAttributesCallback should create a callback that handles null or undefined root element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a callback that handles null or undefined root element"},{"ancestorTitles":["useSetAttributesCallback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useSetAttributesCallback should create a callback that handles null or undefined root element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a callback that handles null or undefined root element"},{"ancestorTitles":["useSetAttributesCallback"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useSetAttributesCallback should create a callback that sets attributes on rootEl if no selectors given","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a callback that sets attributes on rootEl if no selectors given"},{"ancestorTitles":["useSetAttributesCallback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useSetAttributesCallback should create a callback that sets attributes on query selector elements","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a callback that sets attributes on query selector elements"}],"endTime":1726597235934,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useSetAttributesCallback.test.ts","startTime":1726597235839,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["normalize script language"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalize script language groovy","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"groovy"},{"ancestorTitles":["normalize script language"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalize script language python","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"python"},{"ancestorTitles":["normalize script language"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalize script language scala","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"scala"},{"ancestorTitles":["normalize script language"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"normalize script language other","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"other"},{"ancestorTitles":["get disabled run tooltip"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"get disabled run tooltip not connected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"not connected"},{"ancestorTitles":["get disabled run tooltip"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"get disabled run tooltip session language does not match","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"session language does not match"},{"ancestorTitles":["get disabled run tooltip"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"get disabled run tooltip not disabled","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"not disabled"},{"ancestorTitles":["outdent code"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"outdent code outdentCode with empty lines","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"outdentCode with empty lines"},{"ancestorTitles":["outdent code"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"outdent code outdentCode with some lines not indented","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"outdentCode with some lines not indented"},{"ancestorTitles":["outdent code"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"outdent code outdentCode with all lines same indent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"outdentCode with all lines same indent"},{"ancestorTitles":["outdent code"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"outdent code outdentCode with blank lines in the code","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"outdentCode with blank lines in the code"},{"ancestorTitles":["outdent code"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"outdent code outdentCode with empty string","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"outdentCode with empty string"},{"ancestorTitles":["outdent code"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"outdent code outdentCode with tab indents","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"outdentCode with tab indents"},{"ancestorTitles":["outdent code"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"outdent code outdentCode with no indents","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"outdentCode with no indents"}],"endTime":1726597235950,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/console/src/notebook/ScriptEditorUtils.test.ts","startTime":1726597235855,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["makeCancelable"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeCancelable wraps promises properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"wraps promises properly"},{"ancestorTitles":["isCanceled"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isCanceled returns true if the error is a CanceledPromiseError","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true if the error is a CanceledPromiseError"},{"ancestorTitles":["isCanceled"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isCanceled returns false if the error is not a CanceledPromiseError","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns false if the error is not a CanceledPromiseError"},{"ancestorTitles":["isTimedOut"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"isTimedOut returns true if the error is a TimeoutError","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true if the error is a TimeoutError"},{"ancestorTitles":["isTimedOut"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isTimedOut returns false if the error is not a TimeoutError","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns false if the error is not a TimeoutError"},{"ancestorTitles":["withTimeout"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"withTimeout should call callback after timeout and return result","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call callback after timeout and return result"},{"ancestorTitles":["withTimeout"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"withTimeout should return a rejected promise if an error occurs in the callback","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a rejected promise if an error occurs in the callback"}],"endTime":1726597235954,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/PromiseUtils.test.ts","startTime":1726597235860,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useDependentState"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useDependentState should return a stateful value, and a function to update it","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a stateful value, and a function to update it"},{"ancestorTitles":["useDependentState"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useDependentState should update the state if the input value changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should update the state if the input value changes"}],"endTime":1726597235962,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useDependentState.test.ts","startTime":1726597235850,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":12,"failureDetails":[],"failureMessages":[],"fullName":"renders","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders"},{"ancestorTitles":[],"duration":22,"failureDetails":[],"failureMessages":[],"fullName":"renders a functional close button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders a functional close button"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"does not render close button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not render close button"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"renders children correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders children correctly"}],"endTime":1726597235973,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/modal/ModalHeader.test.tsx","startTime":1726597235827,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["getItemsInRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getItemsInRanges handles edge cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles edge cases"},{"ancestorTitles":["getItemsInRanges"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getItemsInRanges returns correct items in provided valid ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns correct items in provided valid ranges"},{"ancestorTitles":["isValidRange"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isValidRange returns true if the range is valid","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true if the range is valid"},{"ancestorTitles":["isValidRange"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isValidRange returns false if the range is invalid","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns false if the range is invalid"},{"ancestorTitles":["validateRange"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"validateRange throws an error if a range is invalid","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws an error if a range is invalid"},{"ancestorTitles":["isSelected"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelected returns true if the index is within the selected ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true if the index is within the selected ranges"},{"ancestorTitles":["isSelected"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isSelected returns false if the index is not within one of the selected ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns false if the index is not within one of the selected ranges"},{"ancestorTitles":["selectRange"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"selectRange returns the same selected ranges if the given range is already within a range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the same selected ranges if the given range is already within a range"},{"ancestorTitles":["selectRange"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"selectRange consolidates the previous ranges if they overlap","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"consolidates the previous ranges if they overlap"},{"ancestorTitles":["deselectRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"deselectRanges returns the same selected ranges if the given range is not selected","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the same selected ranges if the given range is not selected"},{"ancestorTitles":["deselectRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"deselectRanges splits a range if the given range is fully contained within another range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"splits a range if the given range is fully contained within another range"},{"ancestorTitles":["deselectRanges"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"deselectRanges removes a range if the given range fully engulfs the range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"removes a range if the given range fully engulfs the range"},{"ancestorTitles":["deselectRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"deselectRanges trims a range if the given range overlaps the start or end of a range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"trims a range if the given range overlaps the start or end of a range"},{"ancestorTitles":["count"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"count should return the total number of items in the given ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the total number of items in the given ranges"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should generate a range based on given start and end indices: 2, 1, []","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate a range based on given start and end indices: 2, 1, []"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should generate a range based on given start and end indices: -1, 1, [ -1, 0, 1 ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate a range based on given start and end indices: -1, 1, [ -1, 0, 1 ]"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should generate a range based on given start and end indices: 0, 0, [ 0 ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate a range based on given start and end indices: 0, 0, [ 0 ]"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should generate a range based on given start and end indices: 0, 1, [ 0, 1 ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate a range based on given start and end indices: 0, 1, [ 0, 1 ]"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should generate a range based on given start and end indices: 1, 2, [ 1, 2 ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate a range based on given start and end indices: 1, 2, [ 1, 2 ]"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should generate a range based on given start and end indices: 1, 5, [ 1, 2, 3, 4, 5 ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate a range based on given start and end indices: 1, 5, [ 1, 2, 3, 4, 5 ]"}],"endTime":1726597235986,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/RangeUtils.test.ts","startTime":1726597235838,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"should debounce a given callback","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should debounce a given callback"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should cancel debounce if component unmounts","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should cancel debounce if component unmounts"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should cancel debounce if callback reference changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should cancel debounce if callback reference changes"}],"endTime":1726597235997,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useDebouncedCallback.test.ts","startTime":1726597235878,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["themeDHDefault"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"themeDHDefault should merge Spectrum default with DH custom styles","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should merge Spectrum default with DH custom styles"}],"endTime":1726597236070,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/utils/themeUtils.test.ts","startTime":1726597235958,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"mounts and unmounts properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"mounts and unmounts properly"}],"endTime":1726597236082,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/TimeSlider.test.tsx","startTime":1726597235942,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useBroadcastLoginListener"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"useBroadcastLoginListener should trigger onLogin when login message received","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trigger onLogin when login message received"},{"ancestorTitles":["useBroadcastLoginListener"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useBroadcastLoginListener should trigger onLogout when logout message received","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trigger onLogout when logout message received"},{"ancestorTitles":["useBroadcastLoginListener"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useBroadcastLoginListener should not trigger either when other message received","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not trigger either when other message received"}],"endTime":1726597236112,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useBroadcastLoginListener.test.ts","startTime":1726597235993,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"returns the value for the AppInit key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the value for the AppInit key"},{"ancestorTitles":["getUser"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getUser returns the default user and permissions","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the default user and permissions"},{"ancestorTitles":["getUser"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getUser returns the values from the config correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the values from the config correctly"},{"ancestorTitles":["getUser"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getUser overrides the default values correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"overrides the default values correctly"}],"endTime":1726597236117,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/auth-plugins/src/UserUtils.test.ts","startTime":1726597235962,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["DecimalColumnFormatter.isValid"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"DecimalColumnFormatter.isValid returns true for format with valid formatString","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for format with valid formatString"},{"ancestorTitles":["DecimalColumnFormatter.isValid"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"DecimalColumnFormatter.isValid returns true for custom format with valid formatString","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for custom format with valid formatString"},{"ancestorTitles":["DecimalColumnFormatter.isValid"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"DecimalColumnFormatter.isValid does not throw exceptions for invalid format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not throw exceptions for invalid format"},{"ancestorTitles":["DecimalColumnFormatter.isValid"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"DecimalColumnFormatter.isValid returns false for invalid format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns false for invalid format"},{"ancestorTitles":["DecimalColumnFormatter instance format method"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"DecimalColumnFormatter instance format method returns empty string for invalid formatString in format argument","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns empty string for invalid formatString in format argument"},{"ancestorTitles":["DecimalColumnFormatter instance format method"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"DecimalColumnFormatter instance format method returns empty string for null value ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns empty string for null value "},{"ancestorTitles":["DecimalColumnFormatter.makePresetFormat"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"DecimalColumnFormatter.makePresetFormat should return an object with preset type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an object with preset type"},{"ancestorTitles":["DecimalColumnFormatter.makeCustomFormat"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"DecimalColumnFormatter.makeCustomFormat should return an object with preset type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an object with preset type"},{"ancestorTitles":["DecimalColumnFormatter.isSameFormat"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"DecimalColumnFormatter.isSameFormat should return true if two format objects are the same excluding label","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if two format objects are the same excluding label"},{"ancestorTitles":["DecimalColumnFormatter.isSameFormat"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"DecimalColumnFormatter.isSameFormat should return false if two format objects are different excluding label","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if two format objects are different excluding label"},{"ancestorTitles":["IntegerColumnFormatter.isValid"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"IntegerColumnFormatter.isValid returns true for format with valid formatString","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for format with valid formatString"},{"ancestorTitles":["IntegerColumnFormatter.isValid"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IntegerColumnFormatter.isValid returns true for custom format with valid formatString","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for custom format with valid formatString"},{"ancestorTitles":["IntegerColumnFormatter.isValid"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IntegerColumnFormatter.isValid does not throw exceptions for invalid format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not throw exceptions for invalid format"},{"ancestorTitles":["IntegerColumnFormatter.isValid"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IntegerColumnFormatter.isValid returns false for invalid format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns false for invalid format"},{"ancestorTitles":["IntegerColumnFormatter instance format method"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IntegerColumnFormatter instance format method returns empty string for invalid formatString in format argument","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns empty string for invalid formatString in format argument"},{"ancestorTitles":["IntegerColumnFormatter instance format method"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IntegerColumnFormatter instance format method returns empty string for null value ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns empty string for null value "},{"ancestorTitles":["IntegerColumnFormatter.makePresetFormat"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IntegerColumnFormatter.makePresetFormat should return an object with preset type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an object with preset type"},{"ancestorTitles":["IntegerColumnFormatter.makeCustomFormat"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IntegerColumnFormatter.makeCustomFormat should return an object with preset type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an object with preset type"},{"ancestorTitles":["IntegerColumnFormatter.isSameFormat"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IntegerColumnFormatter.isSameFormat should return true if two format objects are the same excluding label","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if two format objects are the same excluding label"},{"ancestorTitles":["IntegerColumnFormatter.isSameFormat"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"IntegerColumnFormatter.isSameFormat should return false if two format objects are different excluding label","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if two format objects are different excluding label"}],"endTime":1726597236159,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/formatters/NumberColumnFormatter.test.ts","startTime":1726597235968,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["makeColumnFormatMap"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeColumnFormatMap converts empty array of format definitions to empty map of name-to-format maps","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts empty array of format definitions to empty map of name-to-format maps"},{"ancestorTitles":["makeColumnFormatMap"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeColumnFormatMap converts array of format definitions to map of name-to-format maps","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"converts array of format definitions to map of name-to-format maps"},{"ancestorTitles":["makeColumnFormatMap"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeColumnFormatMap uses the last format definition in case of conflicting column names","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"uses the last format definition in case of conflicting column names"},{"ancestorTitles":["makeColumnFormatMap"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeColumnFormatMap returns an empty map if columnFormattingRules is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns an empty map if columnFormattingRules is null"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"returns correct formatters for given column types","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns correct formatters for given column types"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uses default formatter for types that have no custom formatter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"uses default formatter for types that have no custom formatter"},{"ancestorTitles":["getColumnFormat"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getColumnFormat returns null for DateTime column with no custom format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns null for DateTime column with no custom format"},{"ancestorTitles":["getColumnFormat"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getColumnFormat returns null for DateTime column with default format defined but no custom format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns null for DateTime column with default format defined but no custom format"},{"ancestorTitles":["getColumnFormat"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getColumnFormat returns format object for DateTime column with defined custom format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns format object for DateTime column with defined custom format"},{"ancestorTitles":["getFormattedString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFormattedString returns an empty string when value is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns an empty string when value is null"},{"ancestorTitles":["getFormattedString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFormattedString passes undefined to formatter.format for column with no custom format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"passes undefined to formatter.format for column with no custom format"},{"ancestorTitles":["getFormattedString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFormattedString passes custom format to formatter.format for column with custom format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"passes custom format to formatter.format for column with custom format"},{"ancestorTitles":["getColumnFormatMapForType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getColumnFormatMapForType should get columnFormatMap for a given column type and create new map entry","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should get columnFormatMap for a given column type and create new map entry"},{"ancestorTitles":["getColumnFormatMapForType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getColumnFormatMapForType returns undefined if no formatmap exists and createIfNecessary is false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns undefined if no formatmap exists and createIfNecessary is false"},{"ancestorTitles":["timeZone"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"timeZone should return the time zone name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the time zone name"}],"endTime":1726597236215,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/Formatter.test.ts","startTime":1726597236004,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["getFormatColumns"],"duration":26,"failureDetails":[],"failureMessages":[],"fullName":"getFormatColumns returns empty array for empty rules array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns empty array for empty rules array"},{"ancestorTitles":["getFormatColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFormatColumns returns mocked formatColumn for a given config","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns mocked formatColumn for a given config"},{"ancestorTitles":["getFormatColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFormatColumns ignores rules referring to missing columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"ignores rules referring to missing columns"},{"ancestorTitles":["getFormatColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFormatColumns stacks multiple rules for the same column in the correct order","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"stacks multiple rules for the same column in the correct order"},{"ancestorTitles":["getFormatColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFormatColumns returns one rule stack for each column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns one rule stack for each column"},{"ancestorTitles":["getFormatColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFormatColumns keeps column/row rule stacks based on the same column separate","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"keeps column/row rule stacks based on the same column separate"},{"ancestorTitles":["getFormatColumns"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getFormatColumns handles rules with mixed column order correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles rules with mixed column order correctly"},{"ancestorTitles":["getFormatColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFormatColumns returns a single condition for multiple rules on the same column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns a single condition for multiple rules on the same column"},{"ancestorTitles":["getFormatColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFormatColumns returns a single condition for row rules on different columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns a single condition for row rules on different columns"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-null should ignore value when not required: 2023-02-23T11:46:31.000000000 NY","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: 2023-02-23T11:46:31.000000000 NY"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-null should ignore value when not required: 2023-02-23T00:00:00 NY","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: 2023-02-23T00:00:00 NY"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-null should ignore value when not required: 2023-02-23 NY","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: 2023-02-23 NY"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-null should ignore value when not required: blah","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: blah"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-null should ignore value when not required: 2023-02-23","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: 2023-02-23"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-null should ignore value when not required: 2023-02-23T00:00:00 NY blah","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: 2023-02-23T00:00:00 NY blah"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-null"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-null should ignore value when not required: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: "},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-null should ignore value when not required: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: undefined"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-not-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-not-null should ignore value when not required: 2023-02-23T11:46:31.000000000 NY","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: 2023-02-23T11:46:31.000000000 NY"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-not-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-not-null should ignore value when not required: 2023-02-23T00:00:00 NY","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: 2023-02-23T00:00:00 NY"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-not-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-not-null should ignore value when not required: 2023-02-23 NY","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: 2023-02-23 NY"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-not-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-not-null should ignore value when not required: blah","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: blah"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-not-null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-not-null should ignore value when not required: 2023-02-23","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: 2023-02-23"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-not-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-not-null should ignore value when not required: 2023-02-23T00:00:00 NY blah","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: 2023-02-23T00:00:00 NY blah"},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-not-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-not-null should ignore value when not required: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: "},{"ancestorTitles":["isDateConditionValid","Not-Required condition: is-not-null"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Not-Required condition: is-not-null should ignore value when not required: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should ignore value when not required: undefined"},{"ancestorTitles":["isDateConditionValid","Required condition: is-after"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-after should return true only if value is valid date format: , false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: , false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-after"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-after should return true only if value is valid date format: undefined, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: undefined, false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-after"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-after should return true only if value is valid date format: [ 'blah', '2023-02-23', '2023-02-23T00:00:00 NY blah' ], false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: [ 'blah', '2023-02-23', '2023-02-23T00:00:00 NY blah' ], false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-after"],"duration":22,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-after should return true only if value is valid date format: [\n '2023-02-23T11:46:31.000000000 NY',\n '2023-02-23T00:00:00 NY',\n '2023-02-23 NY'\n], true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: [\n '2023-02-23T11:46:31.000000000 NY',\n '2023-02-23T00:00:00 NY',\n '2023-02-23 NY'\n], true"},{"ancestorTitles":["isDateConditionValid","Required condition: is-after-or-equal"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-after-or-equal should return true only if value is valid date format: , false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: , false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-after-or-equal"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-after-or-equal should return true only if value is valid date format: undefined, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: undefined, false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-after-or-equal"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-after-or-equal should return true only if value is valid date format: [ 'blah', '2023-02-23', '2023-02-23T00:00:00 NY blah' ], false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: [ 'blah', '2023-02-23', '2023-02-23T00:00:00 NY blah' ], false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-after-or-equal"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-after-or-equal should return true only if value is valid date format: [\n '2023-02-23T11:46:31.000000000 NY',\n '2023-02-23T00:00:00 NY',\n '2023-02-23 NY'\n], true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: [\n '2023-02-23T11:46:31.000000000 NY',\n '2023-02-23T00:00:00 NY',\n '2023-02-23 NY'\n], true"},{"ancestorTitles":["isDateConditionValid","Required condition: is-before-or-equal"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-before-or-equal should return true only if value is valid date format: , false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: , false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-before-or-equal"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-before-or-equal should return true only if value is valid date format: undefined, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: undefined, false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-before-or-equal"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-before-or-equal should return true only if value is valid date format: [ 'blah', '2023-02-23', '2023-02-23T00:00:00 NY blah' ], false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: [ 'blah', '2023-02-23', '2023-02-23T00:00:00 NY blah' ], false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-before-or-equal"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-before-or-equal should return true only if value is valid date format: [\n '2023-02-23T11:46:31.000000000 NY',\n '2023-02-23T00:00:00 NY',\n '2023-02-23 NY'\n], true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: [\n '2023-02-23T11:46:31.000000000 NY',\n '2023-02-23T00:00:00 NY',\n '2023-02-23 NY'\n], true"},{"ancestorTitles":["isDateConditionValid","Required condition: is-before"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-before should return true only if value is valid date format: , false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: , false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-before"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-before should return true only if value is valid date format: undefined, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: undefined, false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-before"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-before should return true only if value is valid date format: [ 'blah', '2023-02-23', '2023-02-23T00:00:00 NY blah' ], false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: [ 'blah', '2023-02-23', '2023-02-23T00:00:00 NY blah' ], false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-before"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-before should return true only if value is valid date format: [\n '2023-02-23T11:46:31.000000000 NY',\n '2023-02-23T00:00:00 NY',\n '2023-02-23 NY'\n], true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: [\n '2023-02-23T11:46:31.000000000 NY',\n '2023-02-23T00:00:00 NY',\n '2023-02-23 NY'\n], true"},{"ancestorTitles":["isDateConditionValid","Required condition: is-exactly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-exactly should return true only if value is valid date format: , false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: , false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-exactly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-exactly should return true only if value is valid date format: undefined, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: undefined, false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-exactly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-exactly should return true only if value is valid date format: [ 'blah', '2023-02-23', '2023-02-23T00:00:00 NY blah' ], false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: [ 'blah', '2023-02-23', '2023-02-23T00:00:00 NY blah' ], false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-exactly"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-exactly should return true only if value is valid date format: [\n '2023-02-23T11:46:31.000000000 NY',\n '2023-02-23T00:00:00 NY',\n '2023-02-23 NY'\n], true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: [\n '2023-02-23T11:46:31.000000000 NY',\n '2023-02-23T00:00:00 NY',\n '2023-02-23 NY'\n], true"},{"ancestorTitles":["isDateConditionValid","Required condition: is-not-exactly"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-not-exactly should return true only if value is valid date format: , false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: , false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-not-exactly"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-not-exactly should return true only if value is valid date format: undefined, false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: undefined, false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-not-exactly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-not-exactly should return true only if value is valid date format: [ 'blah', '2023-02-23', '2023-02-23T00:00:00 NY blah' ], false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: [ 'blah', '2023-02-23', '2023-02-23T00:00:00 NY blah' ], false"},{"ancestorTitles":["isDateConditionValid","Required condition: is-not-exactly"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isDateConditionValid Required condition: is-not-exactly should return true only if value is valid date format: [\n '2023-02-23T11:46:31.000000000 NY',\n '2023-02-23T00:00:00 NY',\n '2023-02-23 NY'\n], true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true only if value is valid date format: [\n '2023-02-23T11:46:31.000000000 NY',\n '2023-02-23T00:00:00 NY',\n '2023-02-23 NY'\n], true"}],"endTime":1726597236245,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/sidebar/conditional-formatting/ConditionalFormattingUtils.test.ts","startTime":1726597235981,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useContentRect - explicitMap:true"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useContentRect - explicitMap:true should initially return zero size contentRect","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initially return zero size contentRect"},{"ancestorTitles":["useContentRect - explicitMap:true"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useContentRect - explicitMap:true should pass expected value to resize observer based on presence of map function","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass expected value to resize observer based on presence of map function"},{"ancestorTitles":["useContentRect - explicitMap:true"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"useContentRect - explicitMap:true should update contentRect when resize observer triggers: []","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should update contentRect when resize observer triggers: []"},{"ancestorTitles":["useContentRect - explicitMap:true"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useContentRect - explicitMap:true should update contentRect when resize observer triggers: [ [Object] ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should update contentRect when resize observer triggers: [ [Object] ]"},{"ancestorTitles":["useContentRect - explicitMap:false"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useContentRect - explicitMap:false should initially return zero size contentRect","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initially return zero size contentRect"},{"ancestorTitles":["useContentRect - explicitMap:false"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useContentRect - explicitMap:false should pass expected value to resize observer based on presence of map function","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pass expected value to resize observer based on presence of map function"},{"ancestorTitles":["useContentRect - explicitMap:false"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useContentRect - explicitMap:false should update contentRect when resize observer triggers: []","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should update contentRect when resize observer triggers: []"},{"ancestorTitles":["useContentRect - explicitMap:false"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useContentRect - explicitMap:false should update contentRect when resize observer triggers: [ [Object] ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should update contentRect when resize observer triggers: [ [Object] ]"}],"endTime":1726597236264,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useContentRect.test.ts","startTime":1726597236081,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["callback ref returned from hook: undefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"callback ref returned from hook: undefined should register onScroll as event listener if given element: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register onScroll as event listener if given element: null"},{"ancestorTitles":["callback ref returned from hook: undefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"callback ref returned from hook: undefined should register onScroll as event listener if given element: HTMLDivElement {\n addEventListener: [Function],\n removeEventListener: [Function]\n}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register onScroll as event listener if given element: HTMLDivElement {\n addEventListener: [Function],\n removeEventListener: [Function]\n}"},{"ancestorTitles":["callback ref returned from hook: undefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"callback ref returned from hook: undefined should replace previous registration: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace previous registration: null"},{"ancestorTitles":["callback ref returned from hook: undefined"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"callback ref returned from hook: undefined should replace previous registration: HTMLDivElement {\n addEventListener: [Function],\n removeEventListener: [Function]\n}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace previous registration: HTMLDivElement {\n addEventListener: [Function],\n removeEventListener: [Function]\n}"},{"ancestorTitles":["callback ref returned from hook: undefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"callback ref returned from hook: undefined should remove event handler on unmount","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should remove event handler on unmount"},{"ancestorTitles":["callback ref returned from hook: function () {\n return fn.apply(this, arguments);\n }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"callback ref returned from hook: function () {\n return fn.apply(this, arguments);\n } should register onScroll as event listener if given element: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register onScroll as event listener if given element: null"},{"ancestorTitles":["callback ref returned from hook: function () {\n return fn.apply(this, arguments);\n }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"callback ref returned from hook: function () {\n return fn.apply(this, arguments);\n } should register onScroll as event listener if given element: HTMLDivElement {\n addEventListener: [Function],\n removeEventListener: [Function]\n}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register onScroll as event listener if given element: HTMLDivElement {\n addEventListener: [Function],\n removeEventListener: [Function]\n}"},{"ancestorTitles":["callback ref returned from hook: function () {\n return fn.apply(this, arguments);\n }"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"callback ref returned from hook: function () {\n return fn.apply(this, arguments);\n } should replace previous registration: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace previous registration: null"},{"ancestorTitles":["callback ref returned from hook: function () {\n return fn.apply(this, arguments);\n }"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"callback ref returned from hook: function () {\n return fn.apply(this, arguments);\n } should replace previous registration: HTMLDivElement {\n addEventListener: [Function],\n removeEventListener: [Function]\n}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace previous registration: HTMLDivElement {\n addEventListener: [Function],\n removeEventListener: [Function]\n}"},{"ancestorTitles":["callback ref returned from hook: function () {\n return fn.apply(this, arguments);\n }"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"callback ref returned from hook: function () {\n return fn.apply(this, arguments);\n } should remove event handler on unmount","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should remove event handler on unmount"}],"endTime":1726597236265,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useOnScrollRef.test.ts","startTime":1726597236100,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":31,"failureDetails":[],"failureMessages":[],"fullName":"renders no switch when isOn not defined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders no switch when isOn not defined"},{"ancestorTitles":[],"duration":27,"failureDetails":[],"failureMessages":[],"fullName":"renders switch when isOn defined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders switch when isOn defined"}],"endTime":1726597236330,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/navigation/MenuItem.test.tsx","startTime":1726597236131,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":13,"failureDetails":[],"failureMessages":[],"fullName":"should render the children if there is no error","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the children if there is no error"},{"ancestorTitles":[],"duration":18,"failureDetails":[],"failureMessages":[],"fullName":"should render the fallback if there is an error","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should render the fallback if there is an error"}],"endTime":1726597236335,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/ErrorBoundary.test.tsx","startTime":1726597236134,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useOnChange"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useOnChange calls the callback when dependencies change","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls the callback when dependencies change"},{"ancestorTitles":["useOnChange"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useOnChange does not call the callback when dependencies do not change","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not call the callback when dependencies do not change"},{"ancestorTitles":["useOnChange"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useOnChange calls the callback immediately on the first render","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"calls the callback immediately on the first render"}],"endTime":1726597236335,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useOnChange.test.ts","startTime":1726597236229,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should register listener on mount and deregister on unmount","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register listener on mount and deregister on unmount"}],"endTime":1726597236358,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/dashboard/src/layout/useListener.test.ts","startTime":1726597236164,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should create a ValidationError object","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a ValidationError object"}],"endTime":1726597236358,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ValidationError.test.ts","startTime":1726597236255,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["ValueOf"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"ValueOf should derive the value type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should derive the value type"}],"endTime":1726597236416,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/TypeUtils.test.ts","startTime":1726597236270,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["format"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"format should return a string respresentation of the character code","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a string respresentation of the character code"}],"endTime":1726597236443,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/formatters/CharColumnFormatter.test.ts","startTime":1726597236271,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"should call the effect n times when condition is true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call the effect n times when condition is true"}],"endTime":1726597236449,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useEffectNTimesWhen.test.ts","startTime":1726597236345,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useItemRowDeserializer"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"useItemRowDeserializer should return a function that deserializes a row into a normalized picker item data object: String key + value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that deserializes a row into a normalized picker item data object: String key + value"},{"ancestorTitles":["useItemRowDeserializer"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useItemRowDeserializer should return a function that deserializes a row into a normalized picker item data object: Number key + value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that deserializes a row into a normalized picker item data object: Number key + value"},{"ancestorTitles":["useItemRowDeserializer"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useItemRowDeserializer should return a function that deserializes a row into a normalized picker item data object: Boolean key + value (true, false)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that deserializes a row into a normalized picker item data object: Boolean key + value (true, false)"},{"ancestorTitles":["useItemRowDeserializer"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useItemRowDeserializer should return a function that deserializes a row into a normalized picker item data object: Boolean key + value (false, true)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that deserializes a row into a normalized picker item data object: Boolean key + value (false, true)"},{"ancestorTitles":["useItemRowDeserializer"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useItemRowDeserializer should return a function that deserializes a row into a normalized picker item data object: Object key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that deserializes a row into a normalized picker item data object: Object key"},{"ancestorTitles":["useItemRowDeserializer"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useItemRowDeserializer should return a function that deserializes a row into a normalized picker item data object: Custom formatValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a function that deserializes a row into a normalized picker item data object: Custom formatValue"}],"endTime":1726597236462,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/spectrum/utils/useItemRowDeserializer.test.ts","startTime":1726597236341,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: undefined"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: null"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: Error: test\n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:6:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: Error: test\n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:6:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: Error: \n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:7:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: Error: \n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:7:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: Error: \n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:8:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: Error: \n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:8:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: Error: 0\n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:9:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: Error: 0\n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:9:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: Error: \n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:10:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: Error: \n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:10:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: Error: foo\n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:11:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: Error: foo\n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:11:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: Error: bar \n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:12:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: Error: bar \n at Object. (/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts:12:4)\n at Runtime._execModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:1377:24)\n at Runtime._loadModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:989:12)\n at Runtime.requireModule (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runtime/build/index.js:849:12)\n at jestAdapter (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runTestInternal (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/bingles/code/wt/web-client-ui/f1/node_modules/jest-runner/build/testWorker.js:106:12)"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: CustomEvent { isTrusted: [Getter] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: CustomEvent { isTrusted: [Getter] }"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: CustomEvent { isTrusted: [Getter] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: CustomEvent { isTrusted: [Getter] }"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: CustomEvent { isTrusted: [Getter] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: CustomEvent { isTrusted: [Getter] }"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: CustomEvent { isTrusted: [Getter] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: CustomEvent { isTrusted: [Getter] }"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: CustomEvent { isTrusted: [Getter] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: CustomEvent { isTrusted: [Getter] }"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: CustomEvent { isTrusted: [Getter] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: CustomEvent { isTrusted: [Getter] }"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"return correct message for: CustomEvent { isTrusted: [Getter] }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"return correct message for: CustomEvent { isTrusted: [Getter] }"}],"endTime":1726597236450,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/ErrorUtils.test.ts","startTime":1726597236346,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["createdKeyedItemKey"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createdKeyedItemKey should append prefix to given index","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should append prefix to given index"},{"ancestorTitles":["createOnTableUpdatedHandler"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createOnTableUpdatedHandler should create a handler that bulk updates items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a handler that bulk updates items"},{"ancestorTitles":["defaultRowDeserializer"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"defaultRowDeserializer should map all columns with original names","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should map all columns with original names"},{"ancestorTitles":["generateEmptyKeyedItems"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"generateEmptyKeyedItems should generate a sequence of string keys for the given range: 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate a sequence of string keys for the given range: 0"},{"ancestorTitles":["generateEmptyKeyedItems"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"generateEmptyKeyedItems should generate a sequence of string keys for the given range: 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate a sequence of string keys for the given range: 0"},{"ancestorTitles":["generateEmptyKeyedItems"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"generateEmptyKeyedItems should generate a sequence of string keys for the given range: 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate a sequence of string keys for the given range: 0"},{"ancestorTitles":["generateEmptyKeyedItems"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"generateEmptyKeyedItems should generate a sequence of string keys for the given range: 3","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should generate a sequence of string keys for the given range: 3"},{"ancestorTitles":["getSize"],"duration":12,"failureDetails":[],"failureMessages":[],"fullName":"getSize should return zero if no table given: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return zero if no table given: undefined"},{"ancestorTitles":["getSize"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getSize should return zero if no table given: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return zero if no table given: null"},{"ancestorTitles":["getSize"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getSize should return zero if is closed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return zero if is closed"},{"ancestorTitles":["getSize"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getSize should return table size if no \"isClosed\" property exists","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return table size if no \"isClosed\" property exists"},{"ancestorTitles":["getSize"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getSize should return table size if is open","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return table size if is open"},{"ancestorTitles":["isClosed"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isClosed should return false if \"isClosed property does not exist","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if \"isClosed property does not exist"},{"ancestorTitles":["isClosed"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isClosed should return value of \"isClosed\" if property exists: false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return value of \"isClosed\" if property exists: false"},{"ancestorTitles":["isClosed"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isClosed should return value of \"isClosed\" if property exists: true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return value of \"isClosed\" if property exists: true"},{"ancestorTitles":["padFirstAndLastRow"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should pad viewport and clamp to table bounds: 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pad viewport and clamp to table bounds: 0"},{"ancestorTitles":["padFirstAndLastRow"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should pad viewport and clamp to table bounds: 1","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pad viewport and clamp to table bounds: 1"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should pad viewport and clamp to table bounds: 2","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pad viewport and clamp to table bounds: 2"},{"ancestorTitles":["padFirstAndLastRow"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should pad viewport and clamp to table bounds: 3","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pad viewport and clamp to table bounds: 3"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should pad viewport and clamp to table bounds: 4","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pad viewport and clamp to table bounds: 4"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should pad viewport and clamp to table bounds: 50","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pad viewport and clamp to table bounds: 50"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should pad viewport and clamp to table bounds: 85","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pad viewport and clamp to table bounds: 85"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should pad viewport and clamp to table bounds: 86","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pad viewport and clamp to table bounds: 86"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should pad viewport and clamp to table bounds: 87","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pad viewport and clamp to table bounds: 87"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should pad viewport and clamp to table bounds: 88","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pad viewport and clamp to table bounds: 88"},{"ancestorTitles":["padFirstAndLastRow"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should pad viewport and clamp to table bounds: 99","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pad viewport and clamp to table bounds: 99"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should pad viewport and clamp to table bounds: 100","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should pad viewport and clamp to table bounds: 100"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: 0"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: 1","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: 1"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: 2","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: 2"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: 3","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: 3"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: 4","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: 4"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: 5","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: 5"},{"ancestorTitles":["padFirstAndLastRow"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: 6","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: 6"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: 7","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: 7"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: 8","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: 8"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: 9","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: 9"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: 10","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: 10"},{"ancestorTitles":["padFirstAndLastRow"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: -1","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: -1"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: -2","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: -2"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: -3","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: -3"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: -4","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: -4"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: -5","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: -5"},{"ancestorTitles":["padFirstAndLastRow"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: -6","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: -6"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: -7","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: -7"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: -8","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: -8"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: -9","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: -9"},{"ancestorTitles":["padFirstAndLastRow"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"padFirstAndLastRow should restrict to table size when < target size: -10","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should restrict to table size when < target size: -10"}],"endTime":1726597236497,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/ViewportDataUtils.test.ts","startTime":1726597236370,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["getTokenBoxesForVisibleCell"],"duration":9,"failureDetails":[],"failureMessages":[],"fullName":"getTokenBoxesForVisibleCell should return tokens that are visible in the cell","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return tokens that are visible in the cell"},{"ancestorTitles":["getTokenBoxesForVisibleCell"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getTokenBoxesForVisibleCell should return multiple tokens","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return multiple tokens"},{"ancestorTitles":["getTokenBoxesForVisibleCell"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getTokenBoxesForVisibleCell should return empty array if there are no tokens","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return empty array if there are no tokens"},{"ancestorTitles":["getTokenBoxesForVisibleCell"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getTokenBoxesForVisibleCell should return empty array if context or metrics is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return empty array if context or metrics is null"}],"endTime":1726597236555,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/grid/src/GridRenderer.test.tsx","startTime":1726597236376,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["getClosestByClassName"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getClosestByClassName returns null for null element argument","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns null for null element argument"},{"ancestorTitles":["getClosestByClassName"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getClosestByClassName returns null if matching element not found","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns null if matching element not found"},{"ancestorTitles":["getClosestByClassName"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getClosestByClassName returns element itself for element matching the class","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns element itself for element matching the class"},{"ancestorTitles":["getClosestByClassName"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"getClosestByClassName returns parent matching the class","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns parent matching the class"},{"ancestorTitles":["getClosestByClassName"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getClosestByClassName returns parent's parent matching the class","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns parent's parent matching the class"},{"ancestorTitles":["identityExtractHTMLElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"identityExtractHTMLElement should return null if given object is not an HTMLElement","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if given object is not an HTMLElement"},{"ancestorTitles":["identityExtractHTMLElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"identityExtractHTMLElement should return null if given object is not an HTMLElement","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if given object is not an HTMLElement"},{"ancestorTitles":["identityExtractHTMLElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"identityExtractHTMLElement should return given object if it is an HTMLElement","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return given object if it is an HTMLElement"},{"ancestorTitles":["syncAnimationStartTime"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"syncAnimationStartTime should set startTime of all CSSAnimations with given name to given value: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should set startTime of all CSSAnimations with given name to given value: undefined"},{"ancestorTitles":["syncAnimationStartTime"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"syncAnimationStartTime should set startTime of all CSSAnimations with given name to given value: 123","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should set startTime of all CSSAnimations with given name to given value: 123"}],"endTime":1726597236612,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/DOMUtils.test.ts","startTime":1726597236470,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["formatElapsedTime parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatElapsedTime parsing tests handles 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 0"},{"ancestorTitles":["formatElapsedTime parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatElapsedTime parsing tests handles 5","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 5"},{"ancestorTitles":["formatElapsedTime parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatElapsedTime parsing tests handles 10","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 10"},{"ancestorTitles":["formatElapsedTime parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatElapsedTime parsing tests handles 60","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 60"},{"ancestorTitles":["formatElapsedTime parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatElapsedTime parsing tests handles 61","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 61"},{"ancestorTitles":["formatElapsedTime parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatElapsedTime parsing tests handles 3600","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 3600"},{"ancestorTitles":["formatElapsedTime parsing tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"formatElapsedTime parsing tests handles 3624","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 3624"},{"ancestorTitles":["formatElapsedTime parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatElapsedTime parsing tests handles 4210","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 4210"},{"ancestorTitles":["formatElapsedTime parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatElapsedTime parsing tests handles 10000","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 10000"},{"ancestorTitles":["formatElapsedTime parsing tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatElapsedTime parsing tests handles 100000","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 100000"},{"ancestorTitles":["formatElapsedTime parsing tests"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"formatElapsedTime parsing tests throws an error for invalid dates","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws an error for invalid dates"},{"ancestorTitles":["formatTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatTime tests handles 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 0"},{"ancestorTitles":["formatTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatTime tests handles 5","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 5"},{"ancestorTitles":["formatTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatTime tests handles 10","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 10"},{"ancestorTitles":["formatTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatTime tests handles 59","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 59"},{"ancestorTitles":["formatTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatTime tests handles 60","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 60"},{"ancestorTitles":["formatTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatTime tests handles 61","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 61"},{"ancestorTitles":["formatTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatTime tests handles 3600","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 3600"},{"ancestorTitles":["formatTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatTime tests handles 3624","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 3624"},{"ancestorTitles":["formatTime tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"formatTime tests handles 4210","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 4210"},{"ancestorTitles":["formatTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"formatTime tests handles 100000","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 100000"},{"ancestorTitles":["formatTime tests"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"formatTime tests throws an error for invalid dates","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws an error for invalid dates"},{"ancestorTitles":["parseTime tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"parseTime tests handles 00:00:00","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 00:00:00"},{"ancestorTitles":["parseTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseTime tests handles 00:00:05","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 00:00:05"},{"ancestorTitles":["parseTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseTime tests handles 00:01:00","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 00:01:00"},{"ancestorTitles":["parseTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseTime tests handles 00:01:01","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 00:01:01"},{"ancestorTitles":["parseTime tests"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"parseTime tests handles 01:00:00","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 01:00:00"},{"ancestorTitles":["parseTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseTime tests handles 01:00:24","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 01:00:24"},{"ancestorTitles":["parseTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseTime tests handles 01:10:10","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 01:10:10"},{"ancestorTitles":["parseTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseTime tests handles 27:46:40","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 27:46:40"},{"ancestorTitles":["parseTime tests"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"parseTime tests throws an error for invalid dates","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws an error for invalid dates"}],"endTime":1726597236602,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/TimeUtils.test.ts","startTime":1726597236454,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["ColorValues"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"ColorValues should return the correct color style","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct color style"}],"endTime":1726597236639,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/theme/colorUtils.test.ts","startTime":1726597236568,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["usePropChangeCallback"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"usePropChangeCallback should create a prop setter callback","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a prop setter callback"},{"ancestorTitles":["usePropChangeCallback"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"usePropChangeCallback should support defaultValue: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should support defaultValue: null"},{"ancestorTitles":["usePropChangeCallback"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"usePropChangeCallback should support defaultValue: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should support defaultValue: undefined"}],"endTime":1726597236642,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/usePropChangeCallback.test.ts","startTime":1726597236496,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should close table on unmount","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should close table on unmount"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"should not call close if no table given or table already closed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call close if no table given or table already closed"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"should not call close if no table given or table already closed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call close if no table given or table already closed"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should not call close if no table given or table already closed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not call close if no table given or table already closed"},{"ancestorTitles":[],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"should close previous table if reference changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should close previous table if reference changes"}],"endTime":1726597236644,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useTableClose.test.ts","startTime":1726597236474,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should create an EventShimCustomEvent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create an EventShimCustomEvent"}],"endTime":1726597236726,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/EventTargetShimUtils.test.ts","startTime":1726597236514,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["join string array"],"duration":18,"failureDetails":[],"failureMessages":[],"fullName":"join string array handles the null case","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles the null case"},{"ancestorTitles":["join string array"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"join string array handles an empty array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles an empty array"},{"ancestorTitles":["join string array"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"join string array handles a one element array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles a one element array"},{"ancestorTitles":["join string array"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"join string array handles a two element array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles a two element array"},{"ancestorTitles":["join string array"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"join string array handles a three element array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles a three element array"},{"ancestorTitles":["join string array"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"join string array handles a 5 element array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles a 5 element array"},{"ancestorTitles":["join string array"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"join string array handles optional conjunction","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles optional conjunction"},{"ancestorTitles":["toLower text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"toLower text handles null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles null"},{"ancestorTitles":["toLower text"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"toLower text throws if null and null not allowed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws if null and null not allowed"},{"ancestorTitles":["toLower text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"toLower text handles lower case strs","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles lower case strs"},{"ancestorTitles":["toLower text"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"toLower text handles other words","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles other words"},{"ancestorTitles":["sort text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sort text sorts ascending","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sorts ascending"},{"ancestorTitles":["sort text"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sort text sorts descending","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"sorts descending"}],"endTime":1726597236759,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/TextUtils.test.ts","startTime":1726597236425,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["callback ref returned by hook"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"callback ref returned by hook should map a given ref to another: function () {\n return fn.apply(this, arguments);\n }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should map a given ref to another: function () {\n return fn.apply(this, arguments);\n }"},{"ancestorTitles":["callback ref returned by hook"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"callback ref returned by hook should map a given ref to another: {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should map a given ref to another: {}"}],"endTime":1726597236803,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useMappedRef.test.ts","startTime":1726597236636,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":13,"failureDetails":[],"failureMessages":[],"fullName":"Creates and adds a shortcut","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Creates and adds a shortcut"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Adds a shortcut","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Adds a shortcut"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Does not register a shortcut with a duplicate id","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Does not register a shortcut with a duplicate id"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Gets a shortcut by ID","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Gets a shortcut by ID"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Returns undefined when getting by an unknown shortcut ID","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Returns undefined when getting by an unknown shortcut ID"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Gets a list conflicting shortcuts for a KeyState","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Gets a list conflicting shortcuts for a KeyState"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Returns an empty list if there are no conflicting shortcuts for a KeyState","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Returns an empty list if there are no conflicting shortcuts for a KeyState"}],"endTime":1726597236808,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/shortcuts/ShortcutRegistry.test.ts","startTime":1726597236629,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["separateSpectrumProps"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"separateSpectrumProps should separate aria, style, and component properties","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should separate aria, style, and component properties"},{"ancestorTitles":["separateSpectrumProps"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"separateSpectrumProps should return empty objects if no props are passed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return empty objects if no props are passed"}],"endTime":1726597236824,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/utils/propUtils.test.ts","startTime":1726597236646,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should call callback with args and call action","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call callback with args and call action"}],"endTime":1726597236839,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useCallbackWithAction.test.ts","startTime":1726597236656,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["isValid"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isValid should return true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true"},{"ancestorTitles":["isSameFormat"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"isSameFormat should throw an error","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error"},{"ancestorTitles":["makeFormat"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFormat returns a TableColumnFormat object with the given arguments","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns a TableColumnFormat object with the given arguments"},{"ancestorTitles":["format"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"format returns an empty string","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns an empty string"}],"endTime":1726597236894,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/formatters/TableColumnFormatter.test.ts","startTime":1726597236819,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should create an InvalidMetadataError object","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create an InvalidMetadataError object"}],"endTime":1726597236901,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/InvalidMetadataError.test.ts","startTime":1726597236812,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["table parsing"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"table parsing parses an empty table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"parses an empty table"},{"ancestorTitles":["table parsing"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"table parsing parses a small table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"parses a small table"},{"ancestorTitles":["table parsing"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"table parsing parses a nested small table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"parses a nested small table"},{"ancestorTitles":["table parsing"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"table parsing parses out a basic div table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"parses out a basic div table"},{"ancestorTitles":["table parsing"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"table parsing parses out a basic text table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"parses out a basic text table"},{"ancestorTitles":["table parsing"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"table parsing parses out a single row in Chrome","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"parses out a single row in Chrome"},{"ancestorTitles":["table parsing"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"table parsing parses out a single row in Firefox","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"parses out a single row in Firefox"},{"ancestorTitles":["text parsing"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"text parsing parses empty html","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"parses empty html"},{"ancestorTitles":["text parsing"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"text parsing parses simple text element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"parses simple text element"}],"endTime":1726597236902,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/grid/src/key-handlers/PasteKeyHandler.test.tsx","startTime":1726597236778,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":9,"failureDetails":[],"failureMessages":[],"fullName":"Throws an exception if called on a window without parent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Throws an exception if called on a window without parent"},{"ancestorTitles":["requestParentResponse with parent"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"requestParentResponse with parent Posts message to parent and subscribes to response","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Posts message to parent and subscribes to response"},{"ancestorTitles":["requestParentResponse with parent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"requestParentResponse with parent Resolves with the payload from the parent window response and unsubscribes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Resolves with the payload from the parent window response and unsubscribes"},{"ancestorTitles":["requestParentResponse with parent"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"requestParentResponse with parent Ignores unrelated response, rejects on timeout","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Ignores unrelated response, rejects on timeout"},{"ancestorTitles":["requestParentResponse with parent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"requestParentResponse with parent Times out if no response","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Times out if no response"},{"ancestorTitles":["requestParentResponse with opener"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"requestParentResponse with opener Posts message to parent and subscribes to response","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Posts message to parent and subscribes to response"},{"ancestorTitles":["requestParentResponse with opener"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"requestParentResponse with opener Resolves with the payload from the parent window response and unsubscribes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Resolves with the payload from the parent window response and unsubscribes"},{"ancestorTitles":["requestParentResponse with opener"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"requestParentResponse with opener Ignores unrelated response, rejects on timeout","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Ignores unrelated response, rejects on timeout"},{"ancestorTitles":["requestParentResponse with opener"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"requestParentResponse with opener Times out if no response","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Times out if no response"}],"endTime":1726597236909,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/MessageUtils.test.ts","startTime":1726597236656,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should register an event listener","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should register an event listener"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should unsubscribe on unmount","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should unsubscribe on unmount"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should handle null or undefined: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle null or undefined: null"},{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"should handle null or undefined: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle null or undefined: undefined"}],"endTime":1726597236952,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useTableListener.test.ts","startTime":1726597236845,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["createFormatterFromSettings"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createFormatterFromSettings should create a formatter with the given settings: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a formatter with the given settings: undefined"},{"ancestorTitles":["createFormatterFromSettings"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createFormatterFromSettings should create a formatter with the given settings: {\n [Symbol(mockProxyType)]: 'Mock Proxy',\n [Symbol(mockProxyDefaultProps)]: [Object],\n [Symbol(mockProxyOverrides)]: [Object],\n [Symbol(mockProxyProxies)]: {}\n}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a formatter with the given settings: {\n [Symbol(mockProxyType)]: 'Mock Proxy',\n [Symbol(mockProxyDefaultProps)]: [Object],\n [Symbol(mockProxyOverrides)]: [Object],\n [Symbol(mockProxyProxies)]: {}\n}"},{"ancestorTitles":["isCustomColumnFormatDefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isCustomColumnFormatDefined is true for columns with custom or preset formats","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"is true for columns with custom or preset formats"},{"ancestorTitles":["isCustomColumnFormatDefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isCustomColumnFormatDefined is false for columns with global or no format","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"is false for columns with global or no format"},{"ancestorTitles":["getColumnFormats"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getColumnFormats should return an array of format rules","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an array of format rules"},{"ancestorTitles":["getColumnFormats"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getColumnFormats should return undefined if settings or settings.formatter is undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return undefined if settings or settings.formatter is undefined"},{"ancestorTitles":["getDateTimeFormatterOptions"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getDateTimeFormatterOptions should return an object containing date and time formatter options","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an object containing date and time formatter options"}],"endTime":1726597236969,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/FormatterUtils.test.ts","startTime":1726597236830,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["format"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"format should return a string containing the given value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a string containing the given value"}],"endTime":1726597236995,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/formatters/StringColumnFormatter.test.ts","startTime":1726597236906,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"works with an empty array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"works with an empty array"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"works with a uniform data array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"works with a uniform data array"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"takes the maximum row length for the column count","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"takes the maximum row length for the column count"},{"ancestorTitles":[],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"takes the maximum count of headers if more specified than data","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"takes the maximum count of headers if more specified than data"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"takes the maximum count of data if more specified than headers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"takes the maximum count of data if more specified than headers"}],"endTime":1726597237001,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/grid/src/StaticDataGridModel.test.ts","startTime":1726597236771,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useOnChangeTrackUncontrolled"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useOnChangeTrackUncontrolled should track controlled / uncontrolled state: {}, [ undefined, 'changed.key' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should track controlled / uncontrolled state: {}, [ undefined, 'changed.key' ]"},{"ancestorTitles":["useOnChangeTrackUncontrolled"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useOnChangeTrackUncontrolled should track controlled / uncontrolled state: { defaultSelectedKey: 'default.selectedKey' }, [ 'default.selectedKey', 'changed.key' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should track controlled / uncontrolled state: { defaultSelectedKey: 'default.selectedKey' }, [ 'default.selectedKey', 'changed.key' ]"},{"ancestorTitles":["useOnChangeTrackUncontrolled"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useOnChangeTrackUncontrolled should track controlled / uncontrolled state: { selectedKey: 'controlled.key' }, [ 'controlled.key', 'controlled.key' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should track controlled / uncontrolled state: { selectedKey: 'controlled.key' }, [ 'controlled.key', 'controlled.key' ]"},{"ancestorTitles":["useOnChangeTrackUncontrolled"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"useOnChangeTrackUncontrolled should track controlled / uncontrolled state: {\n defaultSelectedKey: 'default.selectedKey',\n selectedKey: 'controlled.key'\n}, [ 'controlled.key', 'controlled.key' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should track controlled / uncontrolled state: {\n defaultSelectedKey: 'default.selectedKey',\n selectedKey: 'controlled.key'\n}, [ 'controlled.key', 'controlled.key' ]"}],"endTime":1726597237016,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/spectrum/utils/useOnChangeTrackUncontrolled.test.ts","startTime":1726597236904,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["isNotNullOrUndefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNotNullOrUndefined should return true if value is not null or undefined: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if value is not null or undefined: "},{"ancestorTitles":["isNotNullOrUndefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNotNullOrUndefined should return true if value is not null or undefined: x","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if value is not null or undefined: x"},{"ancestorTitles":["isNotNullOrUndefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNotNullOrUndefined should return true if value is not null or undefined: 999","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if value is not null or undefined: 999"},{"ancestorTitles":["isNotNullOrUndefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNotNullOrUndefined should return true if value is not null or undefined: {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if value is not null or undefined: {}"},{"ancestorTitles":["isNotNullOrUndefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNotNullOrUndefined should return true if value is not null or undefined: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if value is not null or undefined: null"},{"ancestorTitles":["isNotNullOrUndefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNotNullOrUndefined should return true if value is not null or undefined: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if value is not null or undefined: undefined"}],"endTime":1726597237030,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/isNotNullOrUndefined.spec.ts","startTime":1726597236923,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"creates an error object","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"creates an error object"}],"endTime":1726597237058,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/file-explorer/src/FileExistsError.test.ts","startTime":1726597236909,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"should initially return given value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initially return given value"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return { name: 'initial' } value if isEqual returns true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return { name: 'initial' } value if isEqual returns true"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should return { name: 'updated' } value if isEqual returns false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return { name: 'updated' } value if isEqual returns false"}],"endTime":1726597237064,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useIsEqualMemo.test.ts","startTime":1726597236957,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useDelay"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"useDelay should return true while delay is active and false when done","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true while delay is active and false when done"},{"ancestorTitles":["useDelay"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useDelay should cancel setter when unmounted","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should cancel setter when unmounted"},{"ancestorTitles":["useDelay"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"useDelay should reset when delayMs is changed","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should reset when delayMs is changed"}],"endTime":1726597237077,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useDelay.test.ts","startTime":1726597236978,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useIsMountedRef"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useIsMountedRef should return a ref which tracks whether the component is mounted or not","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a ref which tracks whether the component is mounted or not"}],"endTime":1726597237090,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useIsMountedRef.test.ts","startTime":1726597237008,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should create a TimeoutError object","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a TimeoutError object"}],"endTime":1726597237098,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/TimeoutError.test.ts","startTime":1726597237001,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["format"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"format should return \"true\" when the value is 1 or true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return \"true\" when the value is 1 or true"},{"ancestorTitles":["format"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"format should return \"false\" when the value is 0 or false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return \"false\" when the value is 0 or false"},{"ancestorTitles":["format"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"format should return the empty string when the value is not 0, 1, true, or false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the empty string when the value is not 0, 1, true, or false"}],"endTime":1726597237113,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/formatters/BooleanColumnFormatter.test.ts","startTime":1726597237024,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["isNotNullOrUndefined"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"isNotNullOrUndefined should return true if value is not null or undefined: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if value is not null or undefined: "},{"ancestorTitles":["isNotNullOrUndefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNotNullOrUndefined should return true if value is not null or undefined: x","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if value is not null or undefined: x"},{"ancestorTitles":["isNotNullOrUndefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isNotNullOrUndefined should return true if value is not null or undefined: 999","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if value is not null or undefined: 999"},{"ancestorTitles":["isNotNullOrUndefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNotNullOrUndefined should return true if value is not null or undefined: {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if value is not null or undefined: {}"},{"ancestorTitles":["isNotNullOrUndefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNotNullOrUndefined should return true if value is not null or undefined: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if value is not null or undefined: null"},{"ancestorTitles":["isNotNullOrUndefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isNotNullOrUndefined should return true if value is not null or undefined: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if value is not null or undefined: undefined"}],"endTime":1726597237137,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/dist/isNotNullOrUndefined.spec.js","startTime":1726597237038,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["format"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"format should return a string containing the given value","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a string containing the given value"}],"endTime":1726597237160,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/formatters/DefaultColumnFormatter.test.ts","startTime":1726597237073,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["isNonEmptyString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNonEmptyString should return true if given non-empty string: x","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if given non-empty string: x"},{"ancestorTitles":["isNonEmptyString"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"isNonEmptyString should return true if given non-empty string: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if given non-empty string: "},{"ancestorTitles":["isNonEmptyString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNonEmptyString should return true if given non-empty string: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if given non-empty string: null"},{"ancestorTitles":["isNonEmptyString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNonEmptyString should return true if given non-empty string: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if given non-empty string: undefined"},{"ancestorTitles":["isNonEmptyString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNonEmptyString should return true if given non-empty string: 999","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if given non-empty string: 999"},{"ancestorTitles":["isNonEmptyString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isNonEmptyString should return true if given non-empty string: {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if given non-empty string: {}"}],"endTime":1726597237174,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/utils/src/isNonEmptyString.test.ts","startTime":1726597237064,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":321,"failureDetails":[],"failureMessages":[],"fullName":"Renders all children","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Renders all children"},{"ancestorTitles":[],"duration":71,"failureDetails":[],"failureMessages":[],"fullName":"Renders immovable items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Renders immovable items"},{"ancestorTitles":[],"duration":20,"failureDetails":[],"failureMessages":[],"fullName":"Renders a grid of only immovable items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Renders a grid of only immovable items"},{"ancestorTitles":[],"duration":1287,"failureDetails":[],"failureMessages":[],"fullName":"Select and deselects items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Select and deselects items"},{"ancestorTitles":[],"duration":1226,"failureDetails":[],"failureMessages":[],"fullName":"Select and deselects groups","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Select and deselects groups"},{"ancestorTitles":[],"duration":1351,"failureDetails":[],"failureMessages":[],"fullName":"Moves items up with button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Moves items up with button"},{"ancestorTitles":[],"duration":629,"failureDetails":[],"failureMessages":[],"fullName":"Moves groups up with button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Moves groups up with button"},{"ancestorTitles":[],"duration":884,"failureDetails":[],"failureMessages":[],"fullName":"Moves items in and out of groups with up button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Moves items in and out of groups with up button"},{"ancestorTitles":[],"duration":897,"failureDetails":[],"failureMessages":[],"fullName":"Moves items down with button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Moves items down with button"},{"ancestorTitles":[],"duration":643,"failureDetails":[],"failureMessages":[],"fullName":"Moves groups down with button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Moves groups down with button"},{"ancestorTitles":[],"duration":1338,"failureDetails":[],"failureMessages":[],"fullName":"Moves items in and out of groups with down button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Moves items in and out of groups with down button"},{"ancestorTitles":[],"duration":1747,"failureDetails":[],"failureMessages":[],"fullName":"Moves items to top with button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Moves items to top with button"},{"ancestorTitles":[],"duration":796,"failureDetails":[],"failureMessages":[],"fullName":"Moves groups to top with button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Moves groups to top with button"},{"ancestorTitles":[],"duration":1591,"failureDetails":[],"failureMessages":[],"fullName":"Moves items to bottom with button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Moves items to bottom with button"},{"ancestorTitles":[],"duration":685,"failureDetails":[],"failureMessages":[],"fullName":"Moves groups to bottom with button","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Moves groups to bottom with button"},{"ancestorTitles":[],"duration":282,"failureDetails":[],"failureMessages":[],"fullName":"Sorts items","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Sorts items"},{"ancestorTitles":[],"duration":110,"failureDetails":[],"failureMessages":[],"fullName":"Sort ascending items with frozen/front/back columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Sort ascending items with frozen/front/back columns"},{"ancestorTitles":[],"duration":125,"failureDetails":[],"failureMessages":[],"fullName":"Sort descending items with frozen/front/back columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Sort descending items with frozen/front/back columns"},{"ancestorTitles":[],"duration":820,"failureDetails":[],"failureMessages":[],"fullName":"Creates groups","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Creates groups"},{"ancestorTitles":[],"duration":727,"failureDetails":[],"failureMessages":[],"fullName":"Only allows 1 new group at a time","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Only allows 1 new group at a time"},{"ancestorTitles":[],"duration":410,"failureDetails":[],"failureMessages":[],"fullName":"Shows validation error for new group on blur when never typed in","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Shows validation error for new group on blur when never typed in"},{"ancestorTitles":[],"duration":957,"failureDetails":[],"failureMessages":[],"fullName":"Search columns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Search columns"},{"ancestorTitles":[],"duration":417,"failureDetails":[],"failureMessages":[],"fullName":"Edit group name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Edit group name"},{"ancestorTitles":[],"duration":238,"failureDetails":[],"failureMessages":[],"fullName":"Delete group","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Delete group"},{"ancestorTitles":[],"duration":142,"failureDetails":[],"failureMessages":[],"fullName":"Change group color","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Change group color"},{"ancestorTitles":[],"duration":196,"failureDetails":[],"failureMessages":[],"fullName":"Toggles all visibility","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Toggles all visibility"},{"ancestorTitles":[],"duration":976,"failureDetails":[],"failureMessages":[],"fullName":"Toggles selected visibility","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Toggles selected visibility"},{"ancestorTitles":[],"duration":115,"failureDetails":[],"failureMessages":[],"fullName":"Toggles individual visibility","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Toggles individual visibility"},{"ancestorTitles":[],"duration":167,"failureDetails":[],"failureMessages":[],"fullName":"Resets state","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Resets state"},{"ancestorTitles":[],"duration":710,"failureDetails":[],"failureMessages":[],"fullName":"Sets drag item display string on multi-select","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Sets drag item display string on multi-select"},{"ancestorTitles":[],"duration":88,"failureDetails":[],"failureMessages":[],"fullName":"On drag start/end","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"On drag start/end"},{"ancestorTitles":[],"duration":342,"failureDetails":[],"failureMessages":[],"fullName":"changeSelectedColumn moves queried column index and loops","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"changeSelectedColumn moves queried column index and loops"},{"ancestorTitles":[],"duration":192,"failureDetails":[],"failureMessages":[],"fullName":"adjustQueriedIndex sets queriedColumnRange to prevIndex = 9 and nextIndex = 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"adjustQueriedIndex sets queriedColumnRange to prevIndex = 9 and nextIndex = 0"}],"endTime":1726597237418,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/iris-grid/src/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.test.tsx","startTime":1726597214074,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":13,"failureDetails":[],"failureMessages":[],"fullName":"should optimize selection and map it to another selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should optimize selection and map it to another selection"}],"endTime":1726597237530,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/useMappedSelection.test.ts","startTime":1726597237086,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["createValidationProps"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createValidationProps should return empty props if isValid is true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return empty props if isValid is true"},{"ancestorTitles":["createValidationProps"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createValidationProps should return invalid props if isValid is false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return invalid props if isValid is false"},{"ancestorTitles":["extractSpectrumHTMLElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"extractSpectrumHTMLElement should return null if ref is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if ref is null"},{"ancestorTitles":["extractSpectrumHTMLElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"extractSpectrumHTMLElement should extract the DOM node associated with a React Spectrum component ref","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should extract the DOM node associated with a React Spectrum component ref"},{"ancestorTitles":["extractSpectrumLastChildHTMLElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"extractSpectrumLastChildHTMLElement should return null if ref is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if ref is null"},{"ancestorTitles":["extractSpectrumLastChildHTMLElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"extractSpectrumLastChildHTMLElement should return null if ref is not an HTMLElement","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if ref is not an HTMLElement"},{"ancestorTitles":["extractSpectrumLastChildHTMLElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"extractSpectrumLastChildHTMLElement should return null if ref is not an HTMLElement","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if ref is not an HTMLElement"},{"ancestorTitles":["extractSpectrumLastChildHTMLElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"extractSpectrumLastChildHTMLElement should extract the lastElementChild of the DOM node associated with a React Spectrum component ref","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should extract the lastElementChild of the DOM node associated with a React Spectrum component ref"},{"ancestorTitles":["findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: i, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: span, function findSpectrumPopoverScrollArea(ref, triggerElementType) {\n const maybeHTMLElement = ref?.UNSAFE_getDOMNode();\n const trigger = maybeHTMLElement?.querySelector(triggerElementType);\n const popupId = trigger?.getAttribute('aria-controls');\n const scrollArea = popupId == null ? null : document.getElementById(popupId);\n return scrollArea;\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n}"],"duration":11,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n}"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: input, function findSpectrumComboBoxScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'input');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"findSpectrumPopoverScrollArea: button, function findSpectrumPickerScrollArea(ref) {\n return findSpectrumPopoverScrollArea(ref, 'button');\n} should find `aria-controls` element of trigger element","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find `aria-controls` element of trigger element"},{"ancestorTitles":["getPositionOfSelectedItem"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPositionOfSelectedItem should find the position of the selected item: top-level-key-2, 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find the position of the selected item: top-level-key-2, 0"},{"ancestorTitles":["getPositionOfSelectedItem"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPositionOfSelectedItem should find the position of the selected item: key-2, 1","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find the position of the selected item: key-2, 1"},{"ancestorTitles":["getPositionOfSelectedItem"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getPositionOfSelectedItem should find the position of the selected item: key-3, 2","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find the position of the selected item: key-3, 2"},{"ancestorTitles":["getPositionOfSelectedItem"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPositionOfSelectedItem should find the position of the selected item: key-4, 0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find the position of the selected item: key-4, 0"},{"ancestorTitles":["getPositionOfSelectedItem"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getPositionOfSelectedItem should find the position of the selected item: top-level-key-4, 3","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should find the position of the selected item: top-level-key-4, 3"},{"ancestorTitles":["identityExtractHTMLElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"identityExtractHTMLElement should return null if given object is not an HTMLElement","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if given object is not an HTMLElement"},{"ancestorTitles":["identityExtractHTMLElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"identityExtractHTMLElement should return null if given object is not an HTMLElement","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if given object is not an HTMLElement"},{"ancestorTitles":["identityExtractHTMLElement"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"identityExtractHTMLElement should return given object if it is an HTMLElement","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return given object if it is an HTMLElement"}],"endTime":1726597237587,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/react-hooks/src/SpectrumUtils.test.ts","startTime":1726597237111,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["createComboboxFilterArgs"],"duration":16,"failureDetails":[],"failureMessages":[],"fullName":"createComboboxFilterArgs should create \"no filter\" if value matches allValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create \"no filter\" if value matches allValue"},{"ancestorTitles":["createComboboxFilterArgs"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"createComboboxFilterArgs should create \"eq\" filter if value does not match allValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create \"eq\" filter if value does not match allValue"},{"ancestorTitles":["createNotNullOrEmptyFilterCondition"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"createNotNullOrEmptyFilterCondition should create a `notNullOrEmptyFilterCondition` function","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a `notNullOrEmptyFilterCondition` function"},{"ancestorTitles":["createSearchTextFilter"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"createSearchTextFilter should trim search text","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should trim search text"},{"ancestorTitles":["createSearchTextFilter"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"createSearchTextFilter should return null if given null table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if given null table"},{"ancestorTitles":["createSearchTextFilter"],"duration":15,"failureDetails":[],"failureMessages":[],"fullName":"createSearchTextFilter should return null if no columns matched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no columns matched"},{"ancestorTitles":["createSearchTextFilter"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"createSearchTextFilter should return null if given empty text: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if given empty text: "},{"ancestorTitles":["createSearchTextFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createSearchTextFilter should return null if given empty text: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if given empty text: "},{"ancestorTitles":["createSearchTextFilter"],"duration":19,"failureDetails":[],"failureMessages":[],"fullName":"createSearchTextFilter should return a containsIgnoreCase filter condition for given search text: A","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a containsIgnoreCase filter condition for given search text: A"},{"ancestorTitles":["createSearchTextFilter"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"createSearchTextFilter should return a containsIgnoreCase filter condition for given search text: [ 'A', 'B' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a containsIgnoreCase filter condition for given search text: [ 'A', 'B' ]"},{"ancestorTitles":["createShowOnlyEmptyFilterCondition"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createShowOnlyEmptyFilterCondition should create a `showOnlyEmptyFilterCondition` function","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a `showOnlyEmptyFilterCondition` function"},{"ancestorTitles":["createShowOnlyEmptyFilterCondition"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createShowOnlyEmptyFilterCondition should create a `showOnlyEmptyFilterCondition` function","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a `showOnlyEmptyFilterCondition` function"},{"ancestorTitles":["createFilterConditionFactory: undefined"],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"createFilterConditionFactory: undefined should return null if no table given: %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no table given: %s"},{"ancestorTitles":["createFilterConditionFactory: undefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createFilterConditionFactory: undefined should return null if no columns matched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no columns matched"},{"ancestorTitles":["createFilterConditionFactory: undefined"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"createFilterConditionFactory: undefined should create a filter for the specified column names composed by the given operator: A","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a filter for the specified column names composed by the given operator: A"},{"ancestorTitles":["createFilterConditionFactory: undefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createFilterConditionFactory: undefined should create a filter for the specified column names composed by the given operator: [ 'A', 'B' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a filter for the specified column names composed by the given operator: [ 'A', 'B' ]"},{"ancestorTitles":["createFilterConditionFactory: and"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"createFilterConditionFactory: and should return null if no table given: %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no table given: %s"},{"ancestorTitles":["createFilterConditionFactory: and"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"createFilterConditionFactory: and should return null if no columns matched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no columns matched"},{"ancestorTitles":["createFilterConditionFactory: and"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"createFilterConditionFactory: and should create a filter for the specified column names composed by the given operator: A","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a filter for the specified column names composed by the given operator: A"},{"ancestorTitles":["createFilterConditionFactory: and"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"createFilterConditionFactory: and should create a filter for the specified column names composed by the given operator: [ 'A', 'B' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a filter for the specified column names composed by the given operator: [ 'A', 'B' ]"},{"ancestorTitles":["createFilterConditionFactory: or"],"duration":12,"failureDetails":[],"failureMessages":[],"fullName":"createFilterConditionFactory: or should return null if no table given: %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no table given: %s"},{"ancestorTitles":["createFilterConditionFactory: or"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createFilterConditionFactory: or should return null if no columns matched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no columns matched"},{"ancestorTitles":["createFilterConditionFactory: or"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createFilterConditionFactory: or should create a filter for the specified column names composed by the given operator: A","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a filter for the specified column names composed by the given operator: A"},{"ancestorTitles":["createFilterConditionFactory: or"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"createFilterConditionFactory: or should create a filter for the specified column names composed by the given operator: [ 'A', 'B' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create a filter for the specified column names composed by the given operator: [ 'A', 'B' ]"},{"ancestorTitles":["createValueFilter: contains"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: contains should return null if no table given: %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no table given: %s"},{"ancestorTitles":["createValueFilter: contains"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: contains should return null if no columns matched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no columns matched"},{"ancestorTitles":["createValueFilter: contains"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: contains should return a value filter condition for given value: A","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a value filter condition for given value: A"},{"ancestorTitles":["createValueFilter: contains"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: contains should return a value filter condition for given value: [ 'A', 'B' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a value filter condition for given value: [ 'A', 'B' ]"},{"ancestorTitles":["createValueFilter: containsIgnoreCase"],"duration":14,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: containsIgnoreCase should return null if no table given: %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no table given: %s"},{"ancestorTitles":["createValueFilter: containsIgnoreCase"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: containsIgnoreCase should return null if no columns matched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no columns matched"},{"ancestorTitles":["createValueFilter: containsIgnoreCase"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: containsIgnoreCase should return a value filter condition for given value: A","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a value filter condition for given value: A"},{"ancestorTitles":["createValueFilter: containsIgnoreCase"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: containsIgnoreCase should return a value filter condition for given value: [ 'A', 'B' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a value filter condition for given value: [ 'A', 'B' ]"},{"ancestorTitles":["createValueFilter: eq"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: eq should return null if no table given: %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no table given: %s"},{"ancestorTitles":["createValueFilter: eq"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: eq should return null if no columns matched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no columns matched"},{"ancestorTitles":["createValueFilter: eq"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: eq should return a value filter condition for given value: A","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a value filter condition for given value: A"},{"ancestorTitles":["createValueFilter: eq"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: eq should return a value filter condition for given value: [ 'A', 'B' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a value filter condition for given value: [ 'A', 'B' ]"},{"ancestorTitles":["createValueFilter: eqIgnoreCase"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: eqIgnoreCase should return null if no table given: %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no table given: %s"},{"ancestorTitles":["createValueFilter: eqIgnoreCase"],"duration":36,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: eqIgnoreCase should return null if no columns matched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no columns matched"},{"ancestorTitles":["createValueFilter: eqIgnoreCase"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: eqIgnoreCase should return a value filter condition for given value: A","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a value filter condition for given value: A"},{"ancestorTitles":["createValueFilter: eqIgnoreCase"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: eqIgnoreCase should return a value filter condition for given value: [ 'A', 'B' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a value filter condition for given value: [ 'A', 'B' ]"},{"ancestorTitles":["createValueFilter: notEq"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: notEq should return null if no table given: %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no table given: %s"},{"ancestorTitles":["createValueFilter: notEq"],"duration":14,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: notEq should return null if no columns matched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no columns matched"},{"ancestorTitles":["createValueFilter: notEq"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: notEq should return a value filter condition for given value: A","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a value filter condition for given value: A"},{"ancestorTitles":["createValueFilter: notEq"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: notEq should return a value filter condition for given value: [ 'A', 'B' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a value filter condition for given value: [ 'A', 'B' ]"},{"ancestorTitles":["createValueFilter: notEqIgnoreCase"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: notEqIgnoreCase should return null if no table given: %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no table given: %s"},{"ancestorTitles":["createValueFilter: notEqIgnoreCase"],"duration":9,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: notEqIgnoreCase should return null if no columns matched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no columns matched"},{"ancestorTitles":["createValueFilter: notEqIgnoreCase"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: notEqIgnoreCase should return a value filter condition for given value: A","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a value filter condition for given value: A"},{"ancestorTitles":["createValueFilter: notEqIgnoreCase"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createValueFilter: notEqIgnoreCase should return a value filter condition for given value: [ 'A', 'B' ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a value filter condition for given value: [ 'A', 'B' ]"},{"ancestorTitles":["createSelectedValuesFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createSelectedValuesFilter should return null if no table given","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if no table given"},{"ancestorTitles":["createSelectedValuesFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createSelectedValuesFilter should return null if emptySelectionEqAll and selection size is zero: true, Set(0) {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if emptySelectionEqAll and selection size is zero: true, Set(0) {}"},{"ancestorTitles":["createSelectedValuesFilter"],"duration":14,"failureDetails":[],"failureMessages":[],"fullName":"createSelectedValuesFilter should return null if emptySelectionEqAll and selection size is zero: true, Set(3) { 'a', 'b', 'c' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if emptySelectionEqAll and selection size is zero: true, Set(3) { 'a', 'b', 'c' }"},{"ancestorTitles":["createSelectedValuesFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createSelectedValuesFilter should return null if emptySelectionEqAll and selection size is zero: false, Set(0) {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if emptySelectionEqAll and selection size is zero: false, Set(0) {}"},{"ancestorTitles":["createSelectedValuesFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createSelectedValuesFilter should return null if emptySelectionEqAll and selection size is zero: false, Set(3) { 'a', 'b', 'c' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if emptySelectionEqAll and selection size is zero: false, Set(3) { 'a', 'b', 'c' }"},{"ancestorTitles":["createSelectedValuesFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createSelectedValuesFilter should return null if selection is \"all\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if selection is \"all\""},{"ancestorTitles":["createSelectedValuesFilter"],"duration":19,"failureDetails":[],"failureMessages":[],"fullName":"createSelectedValuesFilter should return a selected value filter for given selection: true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a selected value filter for given selection: true"},{"ancestorTitles":["createSelectedValuesFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createSelectedValuesFilter should return a selected value filter for given selection: false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a selected value filter for given selection: false"}],"endTime":1726597237630,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/FilterUtils.test.ts","startTime":1726597237110,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["DEFAULT_PRELOAD_DATA_VARIABLES"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"DEFAULT_PRELOAD_DATA_VARIABLES should match snapshot","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should match snapshot"},{"ancestorTitles":["SVG_ICON_MANUAL_COLOR_MAP"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"SVG_ICON_MANUAL_COLOR_MAP should match snapshot","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should match snapshot"},{"ancestorTitles":["calculatePreloadStyleContent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"calculatePreloadStyleContent should set defaults if css variables are not defined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should set defaults if css variables are not defined"},{"ancestorTitles":["calculatePreloadStyleContent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"calculatePreloadStyleContent should resolve css variables","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve css variables"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return empty string if property does not exist and no default value exists","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return empty string if property does not exist and no default value exists"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-accent-contrast, #fcfcfa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-accent-contrast, #fcfcfa"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-accent-bg, #3b6bda","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-accent-bg, #3b6bda"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-accent-hover-bg, #2f5bc0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-accent-hover-bg, #2f5bc0"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-accent-down-bg, #254ba4","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-accent-down-bg, #254ba4"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-accent-key-focus-bg, #2f5bc0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-accent-key-focus-bg, #2f5bc0"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-negative-bg, #c73f61","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-negative-bg, #c73f61"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-loading-spinner-primary, #3b6bda","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-loading-spinner-primary, #3b6bda"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-loading-spinner-secondary, #f0f0ee80","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-loading-spinner-secondary, #f0f0ee80"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-bg, #1a171a","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-bg, #1a171a"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-fg, #f0f0ee","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-fg, #f0f0ee"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-input-bg, #5b5a5c","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-input-bg, #5b5a5c"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-input-fg, #f0f0ee","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-input-fg, #f0f0ee"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-input-disabled-bg, #373438","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-input-disabled-bg, #373438"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-input-border, #929192","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-input-border, #929192"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-input-placeholder, #929192","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-input-placeholder, #929192"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-input-focus-border, #3b6bdad9","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-input-focus-border, #3b6bdad9"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-text-highlight, #4c7dee4d","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-text-highlight, #4c7dee4d"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-login-form-bg, #403e41","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-login-form-bg, #403e41"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-login-status-message, #929192","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-login-status-message, #929192"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-login-logo-bg, #fcfcfa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-login-logo-bg, #fcfcfa"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-login-footer-fg, #c0bfbf","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-login-footer-fg, #c0bfbf"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-fg-fill, #3b6bda14","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-fg-fill, #3b6bda14"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-fg-stroke, #3b6bda33","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-fg-stroke, #3b6bda33"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-bg, #211f22","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-bg, #211f22"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-grid, #373438","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-grid, #373438"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLBodyElement {}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLBodyElement {} should return a resolver function that resolves css variables","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a resolver function that resolves css variables"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return empty string if property does not exist and no default value exists","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return empty string if property does not exist and no default value exists"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-accent-contrast, #fcfcfa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-accent-contrast, #fcfcfa"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-accent-bg, #3b6bda","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-accent-bg, #3b6bda"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-accent-hover-bg, #2f5bc0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-accent-hover-bg, #2f5bc0"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-accent-down-bg, #254ba4","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-accent-down-bg, #254ba4"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-accent-key-focus-bg, #2f5bc0","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-accent-key-focus-bg, #2f5bc0"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-negative-bg, #c73f61","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-negative-bg, #c73f61"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-loading-spinner-primary, #3b6bda","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-loading-spinner-primary, #3b6bda"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-loading-spinner-secondary, #f0f0ee80","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-loading-spinner-secondary, #f0f0ee80"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-bg, #1a171a","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-bg, #1a171a"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-fg, #f0f0ee","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-fg, #f0f0ee"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-input-bg, #5b5a5c","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-input-bg, #5b5a5c"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-input-fg, #f0f0ee","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-input-fg, #f0f0ee"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-input-disabled-bg, #373438","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-input-disabled-bg, #373438"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":12,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-input-border, #929192","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-input-border, #929192"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-input-placeholder, #929192","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-input-placeholder, #929192"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-input-focus-border, #3b6bdad9","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-input-focus-border, #3b6bdad9"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-text-highlight, #4c7dee4d","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-text-highlight, #4c7dee4d"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-login-form-bg, #403e41","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-login-form-bg, #403e41"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-login-status-message, #929192","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-login-status-message, #929192"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-login-logo-bg, #fcfcfa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-login-logo-bg, #fcfcfa"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-login-footer-fg, #c0bfbf","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-login-footer-fg, #c0bfbf"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-fg-fill, #3b6bda14","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-fg-fill, #3b6bda14"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-fg-stroke, #3b6bda33","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-fg-stroke, #3b6bda33"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-bg, #211f22","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-bg, #211f22"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-grid, #373438","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default value if property does not exist and default value exists: --dh-color-random-area-plot-animation-grid, #373438"},{"ancestorTitles":["resolveCssVariablesInRecord: HTMLDivElement {}"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord: HTMLDivElement {} should return a resolver function that resolves css variables","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a resolver function that resolves css variables"},{"ancestorTitles":["extractDistinctCssVariableExpressions"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"extractDistinctCssVariableExpressions should extract distinct css variable expressions","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should extract distinct css variable expressions"},{"ancestorTitles":["getActiveThemes"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getActiveThemes should use default dark theme if no base theme is matched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should use default dark theme if no base theme is matched"},{"ancestorTitles":["getActiveThemes"],"duration":29,"failureDetails":[],"failureMessages":[],"fullName":"getActiveThemes should throw if base theme not found","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if base theme not found"},{"ancestorTitles":["getActiveThemes"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"getActiveThemes should throw if base theme not found","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw if base theme not found"},{"ancestorTitles":["getActiveThemes"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getActiveThemes should return a base theme if given base theme key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a base theme if given base theme key"},{"ancestorTitles":["getActiveThemes"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getActiveThemes should return a base + custom theme if given a custom theme key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a base + custom theme if given a custom theme key"},{"ancestorTitles":["getDefaultSelectedThemeKey"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getDefaultSelectedThemeKey should coalesce overide key -> preload key -> default key: overrideKey, preloadKey, overrideKey","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should coalesce overide key -> preload key -> default key: overrideKey, preloadKey, overrideKey"},{"ancestorTitles":["getDefaultSelectedThemeKey"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getDefaultSelectedThemeKey should coalesce overide key -> preload key -> default key: undefined, preloadKey, preloadKey","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should coalesce overide key -> preload key -> default key: undefined, preloadKey, preloadKey"},{"ancestorTitles":["getDefaultSelectedThemeKey"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getDefaultSelectedThemeKey should coalesce overide key -> preload key -> default key: undefined, undefined, default-dark","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should coalesce overide key -> preload key -> default key: undefined, undefined, default-dark"},{"ancestorTitles":["getExpressionRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getExpressionRanges should return top-level expression ranges: Single expression, #ffffff","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top-level expression ranges: Single expression, #ffffff"},{"ancestorTitles":["getExpressionRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getExpressionRanges should return top-level expression ranges: Single var expression, var(--aaa-aa)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top-level expression ranges: Single var expression, var(--aaa-aa)"},{"ancestorTitles":["getExpressionRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getExpressionRanges should return top-level expression ranges: Multiple expressions, #ffffff #ffffff","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top-level expression ranges: Multiple expressions, #ffffff #ffffff"},{"ancestorTitles":["getExpressionRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getExpressionRanges should return top-level expression ranges: Multiple var expressions, var(--aaa-aa) var(--bbb-bb)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top-level expression ranges: Multiple var expressions, var(--aaa-aa) var(--bbb-bb)"},{"ancestorTitles":["getExpressionRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getExpressionRanges should return top-level expression ranges: Mixed expressions, var(--aaa-aa)\n #fff \n\n var(--bbb-bb) \n ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top-level expression ranges: Mixed expressions, var(--aaa-aa)\n #fff \n\n var(--bbb-bb) \n "},{"ancestorTitles":["getExpressionRanges"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getExpressionRanges should return top-level expression ranges: Nested expressions - level 2, var(--ccc-cc, var(--aaa-aa, green)) var(--bbb-bb)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top-level expression ranges: Nested expressions - level 2, var(--ccc-cc, var(--aaa-aa, green)) var(--bbb-bb)"},{"ancestorTitles":["getExpressionRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getExpressionRanges should return top-level expression ranges: Nested expressions - level 3, var(--a, var(--b, var(--c, red)))","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top-level expression ranges: Nested expressions - level 3, var(--a, var(--b, var(--c, red)))"},{"ancestorTitles":["getExpressionRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getExpressionRanges should return top-level expression ranges: Nested expressions - level 4, var(--a, var(--b, \n var(--c, var(--d, red)))) \n\t\n var(--e, var(--f, var(--g, var(--h, red)))) \n \t","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top-level expression ranges: Nested expressions - level 4, var(--a, var(--b, \n var(--c, var(--d, red)))) \n\t\n var(--e, var(--f, var(--g, var(--h, red)))) \n \t"},{"ancestorTitles":["getExpressionRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getExpressionRanges should return top-level expression ranges: Nested calc - level 3, var(--a, calc(calc(1px + 2px)))","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top-level expression ranges: Nested calc - level 3, var(--a, calc(calc(1px + 2px)))"},{"ancestorTitles":["getExpressionRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getExpressionRanges should return top-level expression ranges: Nested calc - level 4, var(--a, calc(calc(calc(1px + 2px) + 3px)))","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top-level expression ranges: Nested calc - level 4, var(--a, calc(calc(calc(1px + 2px) + 3px)))"},{"ancestorTitles":["getExpressionRanges"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getExpressionRanges should return top-level expression ranges: Unbalanced, var(--a","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return top-level expression ranges: Unbalanced, var(--a"},{"ancestorTitles":["getDefaultBaseThemes"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getDefaultBaseThemes should return default base themes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return default base themes"},{"ancestorTitles":["getDefaultBaseThemes"],"duration":9,"failureDetails":[],"failureMessages":[],"fullName":"getDefaultBaseThemes should contain the same css variables between light and dark themes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should contain the same css variables between light and dark themes"},{"ancestorTitles":["getThemeKey"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getThemeKey should combine plugin name and theme name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should combine plugin name and theme name"},{"ancestorTitles":["getThemePreloadData"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getThemePreloadData should parse local storage value or return null: null, null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse local storage value or return null: null, null"},{"ancestorTitles":["getThemePreloadData"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getThemePreloadData should parse local storage value or return null: {, null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse local storage value or return null: {, null"},{"ancestorTitles":["getThemePreloadData"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getThemePreloadData should parse local storage value or return null: {\"themeKey\":\"aaa\",\"preloadStyleContent\":\"':root{}\"}, { themeKey: 'aaa', preloadStyleContent: \"':root{}\" }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should parse local storage value or return null: {\"themeKey\":\"aaa\",\"preloadStyleContent\":\"':root{}\"}, { themeKey: 'aaa', preloadStyleContent: \"':root{}\" }"},{"ancestorTitles":["overrideSVGFillColors"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"overrideSVGFillColors should replace fill colors in svgs: --dh-svg-icon-select-indicator, --dh-color-selector-fg","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace fill colors in svgs: --dh-svg-icon-select-indicator, --dh-color-selector-fg"},{"ancestorTitles":["overrideSVGFillColors"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"overrideSVGFillColors should replace fill colors in svgs: --dh-svg-icon-select-indicator-hover, --dh-color-selector-hover-fg","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace fill colors in svgs: --dh-svg-icon-select-indicator-hover, --dh-color-selector-hover-fg"},{"ancestorTitles":["overrideSVGFillColors"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"overrideSVGFillColors should replace fill colors in svgs: --dh-svg-icon-select-indicator-disabled, --dh-color-selector-disabled-fg","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace fill colors in svgs: --dh-svg-icon-select-indicator-disabled, --dh-color-selector-disabled-fg"},{"ancestorTitles":["overrideSVGFillColors"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"overrideSVGFillColors should replace fill colors in svgs: --dh-svg-icon-error, --dh-color-form-control-error","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace fill colors in svgs: --dh-svg-icon-error, --dh-color-form-control-error"},{"ancestorTitles":["preloadTheme"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"preloadTheme should set the style content: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should set the style content: null"},{"ancestorTitles":["preloadTheme"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"preloadTheme should set the style content: {\n themeKey: 'mock.themeKey',\n preloadStyleContent: ':root{mock.preloadStyleContent}'\n}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should set the style content: {\n themeKey: 'mock.themeKey',\n preloadStyleContent: ':root{mock.preloadStyleContent}'\n}"},{"ancestorTitles":["replaceSVGFillColor"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"replaceSVGFillColor should replace fill color: #ababab, %23ababab","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace fill color: #ababab, %23ababab"},{"ancestorTitles":["replaceSVGFillColor"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"replaceSVGFillColor should replace fill color: hsl(222deg, 50%, 42%), hsl(222deg%2C%2050%25%2C%2042%25)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace fill color: hsl(222deg, 50%, 42%), hsl(222deg%2C%2050%25%2C%2042%25)"},{"ancestorTitles":["resolveCssVariablesInRecord"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord should map non-css variable values verbatim","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should map non-css variable values verbatim"},{"ancestorTitles":["resolveCssVariablesInRecord"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord should replace css variables with resolved values: isAlphaOptional","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables with resolved values: isAlphaOptional"},{"ancestorTitles":["resolveCssVariablesInRecord"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord should replace css variables with resolved values: isAlphaOptional","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables with resolved values: isAlphaOptional"},{"ancestorTitles":["resolveCssVariablesInRecord"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord should replace css variables with resolved values: isAlphaOptional","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables with resolved values: isAlphaOptional"},{"ancestorTitles":["resolveCssVariablesInRecord"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord should map non-css variable values verbatim","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should map non-css variable values verbatim"},{"ancestorTitles":["resolveCssVariablesInRecord"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord should replace css variables with resolved values: isAlphaOptional","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables with resolved values: isAlphaOptional"},{"ancestorTitles":["resolveCssVariablesInRecord"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord should replace css variables with resolved values: isAlphaOptional","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables with resolved values: isAlphaOptional"},{"ancestorTitles":["resolveCssVariablesInRecord"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInRecord should replace css variables with resolved values: isAlphaOptional","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables with resolved values: isAlphaOptional"},{"ancestorTitles":["resolveCssVariablesInString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInString should replace css variables - Empty string: , ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables - Empty string: , "},{"ancestorTitles":["resolveCssVariablesInString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInString should replace css variables - No vars: red, red","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables - No vars: red, red"},{"ancestorTitles":["resolveCssVariablesInString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInString should replace css variables - Single var: var(--aaa-aa), R[var(--aaa-aa)]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables - Single var: var(--aaa-aa), R[var(--aaa-aa)]"},{"ancestorTitles":["resolveCssVariablesInString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInString should replace css variables - Multiple vars: var(--aaa-aa) var(--bbb-bb), R[var(--aaa-aa)] R[var(--bbb-bb)]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables - Multiple vars: var(--aaa-aa) var(--bbb-bb), R[var(--aaa-aa)] R[var(--bbb-bb)]"},{"ancestorTitles":["resolveCssVariablesInString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInString should replace css variables - Nested vars - level 2: var(--ccc-cc, var(--aaa-aa, green)) var(--bbb-bb), R[var(--ccc-cc, var(--aaa-aa, green))] R[var(--bbb-bb)]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables - Nested vars - level 2: var(--ccc-cc, var(--aaa-aa, green)) var(--bbb-bb), R[var(--ccc-cc, var(--aaa-aa, green))] R[var(--bbb-bb)]"},{"ancestorTitles":["resolveCssVariablesInString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInString should replace css variables - Nested vars - level 3: var(--a, var(--b, var(--c, red))), R[var(--a, var(--b, var(--c, red)))]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables - Nested vars - level 3: var(--a, var(--b, var(--c, red))), R[var(--a, var(--b, var(--c, red)))]"},{"ancestorTitles":["resolveCssVariablesInString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInString should replace css variables - Nested vars - level 4: var(--a, var(--b, var(--c, var(--d, red)))), R[var(--a, var(--b, var(--c, var(--d, red))))]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables - Nested vars - level 4: var(--a, var(--b, var(--c, var(--d, red)))), R[var(--a, var(--b, var(--c, var(--d, red))))]"},{"ancestorTitles":["resolveCssVariablesInString"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInString should replace css variables - Nested calc - level 3: var(--a, calc(calc(1px + 2px))), R[var(--a, calc(calc(1px + 2px)))]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables - Nested calc - level 3: var(--a, calc(calc(1px + 2px))), R[var(--a, calc(calc(1px + 2px)))]"},{"ancestorTitles":["resolveCssVariablesInString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInString should replace css variables - Nested calc - level 4: var(--a, calc(calc(calc(1px + 2px) + 3px))), R[var(--a, calc(calc(calc(1px + 2px) + 3px)))]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables - Nested calc - level 4: var(--a, calc(calc(calc(1px + 2px) + 3px))), R[var(--a, calc(calc(calc(1px + 2px) + 3px)))]"},{"ancestorTitles":["resolveCssVariablesInString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInString should replace css variables - Nested calc - level 4: var(--a, calc(calc(calc(1px + 2px) + 3px))), R[var(--a, calc(calc(calc(1px + 2px) + 3px)))]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables - Nested calc - level 4: var(--a, calc(calc(calc(1px + 2px) + 3px))), R[var(--a, calc(calc(calc(1px + 2px) + 3px)))]"},{"ancestorTitles":["resolveCssVariablesInString"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"resolveCssVariablesInString should replace css variables - Non top-level var: calc(var(--a, calc(calc(calc(1px + 2px) + 3px)))) var(--b), R[calc(var(--a, calc(calc(calc(1px + 2px) + 3px))))] R[var(--b)]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should replace css variables - Non top-level var: calc(var(--a, calc(calc(calc(1px + 2px) + 3px)))) var(--b), R[calc(var(--a, calc(calc(calc(1px + 2px) + 3px))))] R[var(--b)]"},{"ancestorTitles":["setThemePreloadData"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"setThemePreloadData should set the theme preload data","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should set the theme preload data"}],"endTime":1726597237948,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/theme/ThemeUtils.test.ts","startTime":1726597237547,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["reuseItemsOnTableResize: undefined"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: undefined should safely handle no table: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should safely handle no table: null"},{"ancestorTitles":["reuseItemsOnTableResize: undefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: undefined should initialize a ListData object based on Table size","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initialize a ListData object based on Table size"},{"ancestorTitles":["reuseItemsOnTableResize: undefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: undefined should re-initialize a ListData object if Table reference changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should re-initialize a ListData object if Table reference changes"},{"ancestorTitles":["reuseItemsOnTableResize: undefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: undefined should re-initialize a ListData object if Table size changes: 3","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should re-initialize a ListData object if Table size changes: 3"},{"ancestorTitles":["reuseItemsOnTableResize: undefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: undefined should re-initialize a ListData object if Table size changes: 5","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should re-initialize a ListData object if Table size changes: 5"},{"ancestorTitles":["reuseItemsOnTableResize: true"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: true should safely handle no table: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should safely handle no table: null"},{"ancestorTitles":["reuseItemsOnTableResize: true"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: true should initialize a ListData object based on Table size","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initialize a ListData object based on Table size"},{"ancestorTitles":["reuseItemsOnTableResize: true"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: true should re-initialize a ListData object if Table reference changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should re-initialize a ListData object if Table reference changes"},{"ancestorTitles":["reuseItemsOnTableResize: true"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: true should re-initialize a ListData object if Table size changes: 3","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should re-initialize a ListData object if Table size changes: 3"},{"ancestorTitles":["reuseItemsOnTableResize: true"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: true should re-initialize a ListData object if Table size changes: 5","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should re-initialize a ListData object if Table size changes: 5"},{"ancestorTitles":["reuseItemsOnTableResize: false"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: false should safely handle no table: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should safely handle no table: null"},{"ancestorTitles":["reuseItemsOnTableResize: false"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: false should initialize a ListData object based on Table size","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initialize a ListData object based on Table size"},{"ancestorTitles":["reuseItemsOnTableResize: false"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: false should re-initialize a ListData object if Table reference changes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should re-initialize a ListData object if Table reference changes"},{"ancestorTitles":["reuseItemsOnTableResize: false"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: false should re-initialize a ListData object if Table size changes: 3","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should re-initialize a ListData object if Table size changes: 3"},{"ancestorTitles":["reuseItemsOnTableResize: false"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"reuseItemsOnTableResize: false should re-initialize a ListData object if Table size changes: 5","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should re-initialize a ListData object if Table size changes: 5"}],"endTime":1726597238012,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useInitializeViewportData.test.ts","startTime":1726597237185,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["useFormatter"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"useFormatter should return members of a `Formatter` instance based on settings","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return members of a `Formatter` instance based on settings"}],"endTime":1726597238013,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useFormatter.test.ts","startTime":1726597237173,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should map selection to values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should map selection to values"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should debounce mapped values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should debounce mapped values"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"should memoize debounced selection based on value equality","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should memoize debounced selection based on value equality"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should create memoized selected values filter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create memoized selected values filter"}],"endTime":1726597238032,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/useDebouncedViewportSelectionFilter.test.ts","startTime":1726597237149,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["ThemeProvider"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"ThemeProvider should load themes based on default selected theme key. customThemes: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should load themes based on default selected theme key. customThemes: null"},{"ancestorTitles":["ThemeProvider"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"ThemeProvider should load themes based on default selected theme key. customThemes: [\n { themeKey: 'themeA' },\n { themeKey: 'mockDefaultSelectedThemeKey' },\n [length]: 2\n]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should load themes based on default selected theme key. customThemes: [\n { themeKey: 'themeA' },\n { themeKey: 'mockDefaultSelectedThemeKey' },\n [length]: 2\n]"},{"ancestorTitles":["ThemeProvider"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"ThemeProvider should set preload data when active themes change: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should set preload data when active themes change: null"},{"ancestorTitles":["ThemeProvider"],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"ThemeProvider should set preload data when active themes change: [\n { themeKey: 'themeA' },\n { themeKey: 'mockDefaultSelectedThemeKey' },\n [length]: 2\n]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should set preload data when active themes change: [\n { themeKey: 'themeA' },\n { themeKey: 'mockDefaultSelectedThemeKey' },\n [length]: 2\n]"},{"ancestorTitles":["ThemeProvider","setSelectedThemeKey: null"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"ThemeProvider setSelectedThemeKey: null should change selected theme: default-light","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should change selected theme: default-light"},{"ancestorTitles":["ThemeProvider","setSelectedThemeKey: null"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"ThemeProvider setSelectedThemeKey: null should change selected theme: themeA","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should change selected theme: themeA"},{"ancestorTitles":["ThemeProvider","setSelectedThemeKey: [\n { themeKey: 'themeA' },\n { themeKey: 'mockDefaultSelectedThemeKey' },\n [length]: 2\n]"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"ThemeProvider setSelectedThemeKey: [\n { themeKey: 'themeA' },\n { themeKey: 'mockDefaultSelectedThemeKey' },\n [length]: 2\n] should change selected theme: default-light","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should change selected theme: default-light"},{"ancestorTitles":["ThemeProvider","setSelectedThemeKey: [\n { themeKey: 'themeA' },\n { themeKey: 'mockDefaultSelectedThemeKey' },\n [length]: 2\n]"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"ThemeProvider setSelectedThemeKey: [\n { themeKey: 'themeA' },\n { themeKey: 'mockDefaultSelectedThemeKey' },\n [length]: 2\n] should change selected theme: themeA","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should change selected theme: themeA"}],"endTime":1726597238145,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/components/src/theme/ThemeProvider.test.tsx","startTime":1726597237609,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: createDistinctSortedColumnTable","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: createDistinctSortedColumnTable"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: doesColumnValueExist","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: doesColumnValueExist"},{"ancestorTitles":["constructor"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: getValueType","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: getValueType"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeQuickFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeQuickFilter"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeQuickFilterFromComponent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeQuickFilterFromComponent"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeQuickNumberFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeQuickNumberFilter"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeQuickTextFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeQuickTextFilter"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeQuickBooleanFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeQuickBooleanFilter"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeQuickDateFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeQuickDateFilter"},{"ancestorTitles":["constructor"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeQuickDateFilterWithOperation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeQuickDateFilterWithOperation"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeQuickCharFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeQuickCharFilter"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeAdvancedFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeAdvancedFilter"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeAdvancedValueFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeAdvancedValueFilter"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeSearchTextFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeSearchTextFilter"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: applyNeverFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: applyNeverFilter"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: applyCustomColumns","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: applyCustomColumns"},{"ancestorTitles":["constructor"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: applyFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: applyFilter"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: applySort","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: applySort"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeNeverFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeNeverFilter"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeFilterValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeFilterValue"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeFilterRawValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeFilterRawValue"},{"ancestorTitles":["constructor"],"duration":5,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeNullableEqFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeNullableEqFilter"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeValue","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeValue"},{"ancestorTitles":["constructor"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"constructor should bind all non-static methods in constructor: makeSelectValueFilter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should bind all non-static methods in constructor: makeSelectValueFilter"},{"ancestorTitles":["applyCustomColumns"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"applyCustomColumns should call table.applyCustomColumns and wait for dh.Table.EVENT_CUSTOMCOLUMNSCHANGED event: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call table.applyCustomColumns and wait for dh.Table.EVENT_CUSTOMCOLUMNSCHANGED event: undefined"},{"ancestorTitles":["applyCustomColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"applyCustomColumns should call table.applyCustomColumns and wait for dh.Table.EVENT_CUSTOMCOLUMNSCHANGED event: 400","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call table.applyCustomColumns and wait for dh.Table.EVENT_CUSTOMCOLUMNSCHANGED event: 400"},{"ancestorTitles":["applyFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"applyFilter should call table.applyFilter and wait for dh.Table.EVENT_FILTERCHANGED event: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call table.applyFilter and wait for dh.Table.EVENT_FILTERCHANGED event: undefined"},{"ancestorTitles":["applyFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"applyFilter should call table.applyFilter and wait for dh.Table.EVENT_FILTERCHANGED event: 400","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call table.applyFilter and wait for dh.Table.EVENT_FILTERCHANGED event: 400"},{"ancestorTitles":["applyNeverFilter - timeout: undefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"applyNeverFilter - timeout: undefined should resolve to null when not given a table: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to null when not given a table: null"},{"ancestorTitles":["applyNeverFilter - timeout: undefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"applyNeverFilter - timeout: undefined should resolve to null when not given a table: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to null when not given a table: undefined"},{"ancestorTitles":["applyNeverFilter - timeout: undefined"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"applyNeverFilter - timeout: undefined should call TableUtils.applyFilter with a \"never filter\": %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call TableUtils.applyFilter with a \"never filter\": %s"},{"ancestorTitles":["applyNeverFilter - timeout: 400"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"applyNeverFilter - timeout: 400 should resolve to null when not given a table: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to null when not given a table: null"},{"ancestorTitles":["applyNeverFilter - timeout: 400"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"applyNeverFilter - timeout: 400 should resolve to null when not given a table: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to null when not given a table: undefined"},{"ancestorTitles":["applyNeverFilter - timeout: 400"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"applyNeverFilter - timeout: 400 should call TableUtils.applyFilter with a \"never filter\": %s","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call TableUtils.applyFilter with a \"never filter\": %s"},{"ancestorTitles":["applySort"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"applySort should call table.applySort and wait for dh.Table.EVENT_SORTCHANGED event: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call table.applySort and wait for dh.Table.EVENT_SORTCHANGED event: undefined"},{"ancestorTitles":["applySort"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"applySort should call table.applySort and wait for dh.Table.EVENT_SORTCHANGED event: 400","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call table.applySort and wait for dh.Table.EVENT_SORTCHANGED event: 400"},{"ancestorTitles":["copyTableAndApplyFilters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"copyTableAndApplyFilters should return null if not given table: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if not given table: null"},{"ancestorTitles":["copyTableAndApplyFilters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"copyTableAndApplyFilters should return null if not given table: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if not given table: undefined"},{"ancestorTitles":["copyTableAndApplyFilters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"copyTableAndApplyFilters should return copy of table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return copy of table"},{"ancestorTitles":["copyTableAndApplyFilters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"copyTableAndApplyFilters should apply filters to copy of table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should apply filters to copy of table"},{"ancestorTitles":["createDistinctSortedColumnTable: asc"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: asc should resolve to null if given null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to null if given null"},{"ancestorTitles":["createDistinctSortedColumnTable: asc"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: asc should resolve to a new table containing distinct values for column name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to a new table containing distinct values for column name"},{"ancestorTitles":["createDistinctSortedColumnTable: asc"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: asc should call selectDistinct on source table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call selectDistinct on source table"},{"ancestorTitles":["createDistinctSortedColumnTable: asc"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: asc should call selectDistinct on source table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call selectDistinct on source table"},{"ancestorTitles":["createDistinctSortedColumnTable: asc"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: asc should not apply filters if not given filter condition factories","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not apply filters if not given filter condition factories"},{"ancestorTitles":["createDistinctSortedColumnTable: asc"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: asc should filter by any given filter condition factories","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should filter by any given filter condition factories"},{"ancestorTitles":["createDistinctSortedColumnTable: asc"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: asc should sort distinct table by column asc","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should sort distinct table by column asc"},{"ancestorTitles":["createDistinctSortedColumnTable: desc"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: desc should resolve to null if given null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to null if given null"},{"ancestorTitles":["createDistinctSortedColumnTable: desc"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: desc should resolve to a new table containing distinct values for column name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to a new table containing distinct values for column name"},{"ancestorTitles":["createDistinctSortedColumnTable: desc"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: desc should call selectDistinct on source table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call selectDistinct on source table"},{"ancestorTitles":["createDistinctSortedColumnTable: desc"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: desc should call selectDistinct on source table","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call selectDistinct on source table"},{"ancestorTitles":["createDistinctSortedColumnTable: desc"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: desc should not apply filters if not given filter condition factories","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should not apply filters if not given filter condition factories"},{"ancestorTitles":["createDistinctSortedColumnTable: desc"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: desc should filter by any given filter condition factories","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should filter by any given filter condition factories"},{"ancestorTitles":["createDistinctSortedColumnTable: desc"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"createDistinctSortedColumnTable: desc should sort distinct table by column desc","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should sort distinct table by column desc"},{"ancestorTitles":["doesColumnValueExist"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"doesColumnValueExist should resolve to null if no table given","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to null if no table given"},{"ancestorTitles":["doesColumnValueExist"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"doesColumnValueExist should resolve to true if value exists in given columns: isCaseSensitive:true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to true if value exists in given columns: isCaseSensitive:true"},{"ancestorTitles":["doesColumnValueExist"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"doesColumnValueExist should resolve to true if value exists in given columns: isCaseSensitive:false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to true if value exists in given columns: isCaseSensitive:false"},{"ancestorTitles":["doesColumnValueExist"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"doesColumnValueExist should close internal table copy","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should close internal table copy"},{"ancestorTitles":["executeAndWaitForEvent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"executeAndWaitForEvent should resolve to null if given null or undefined: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to null if given null or undefined: null"},{"ancestorTitles":["executeAndWaitForEvent"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"executeAndWaitForEvent should resolve to null if given null or undefined: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should resolve to null if given null or undefined: undefined"},{"ancestorTitles":["executeAndWaitForEvent"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"executeAndWaitForEvent should call execute callback and wait for next `eventType` event: mock.eventA","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call execute callback and wait for next `eventType` event: mock.eventA"},{"ancestorTitles":["executeAndWaitForEvent"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"executeAndWaitForEvent should call execute callback and wait for next `eventType` event: mock.eventB","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call execute callback and wait for next `eventType` event: mock.eventB"},{"ancestorTitles":["executeAndWaitForEvent"],"duration":37,"failureDetails":[],"failureMessages":[],"fullName":"executeAndWaitForEvent should execute callback and reject promise if event timeout expires: mock.eventA","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should execute callback and reject promise if event timeout expires: mock.eventA"},{"ancestorTitles":["executeAndWaitForEvent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"executeAndWaitForEvent should execute callback and reject promise if event timeout expires: mock.eventB","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should execute callback and reject promise if event timeout expires: mock.eventB"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: boolean, BOOLEAN","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: boolean, BOOLEAN"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.lang.Boolean, BOOLEAN","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.lang.Boolean, BOOLEAN"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: boolean, BOOLEAN","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: boolean, BOOLEAN"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: char, STRING","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: char, STRING"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.lang.Character, STRING","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.lang.Character, STRING"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: char, STRING","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: char, STRING"},{"ancestorTitles":["getValueType"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.lang.String, STRING","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.lang.String, STRING"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: string, STRING","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: string, STRING"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: io.deephaven.db.tables.utils.DBDateTime, DATETIME","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: io.deephaven.db.tables.utils.DBDateTime, DATETIME"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: io.deephaven.time.DateTime, DATETIME","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: io.deephaven.time.DateTime, DATETIME"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: com.illumon.iris.db.tables.utils.DBDateTime, DATETIME","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: com.illumon.iris.db.tables.utils.DBDateTime, DATETIME"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.time.Instant, DATETIME","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.time.Instant, DATETIME"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.time.ZonedDateTime, DATETIME","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.time.ZonedDateTime, DATETIME"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: datetime, DATETIME","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: datetime, DATETIME"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: double, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: double, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.lang.Double, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.lang.Double, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: float, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: float, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.lang.Float, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.lang.Float, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: decimal, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: decimal, NUMBER"},{"ancestorTitles":["getValueType"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: int, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: int, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.lang.Integer, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.lang.Integer, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: long, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: long, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.lang.Long, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.lang.Long, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: short, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: short, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.lang.Short, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.lang.Short, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: byte, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: byte, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.lang.Byte, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.lang.Byte, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: int, NUMBER","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: int, NUMBER"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.math.BigDecimal, STRING","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.math.BigDecimal, STRING"},{"ancestorTitles":["getValueType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getValueType should return the correct value type for columnType: java.math.BigInteger, STRING","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the correct value type for columnType: java.math.BigInteger, STRING"},{"ancestorTitles":["makeFilterValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle text type: char","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle text type: char"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle text type: java.lang.Character","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle text type: java.lang.Character"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle text type: java.lang.String","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle text type: java.lang.String"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle long type: long","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle long type: long"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle long type: java.lang.Long","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle long type: java.lang.Long"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle number type: int","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle number type: int"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle number type: java.lang.Integer","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle number type: java.lang.Integer"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle number type: java.math.BigInteger","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle number type: java.math.BigInteger"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle number type: short","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle number type: short"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle number type: java.lang.Short","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle number type: java.lang.Short"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle number type: byte","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle number type: byte"},{"ancestorTitles":["makeFilterValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle number type: java.lang.Byte","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle number type: java.lang.Byte"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle number type: double","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle number type: double"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle number type: java.lang.Double","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle number type: java.lang.Double"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle number type: java.math.BigDecimal","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle number type: java.math.BigDecimal"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle number type: float","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle number type: float"},{"ancestorTitles":["makeFilterValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeFilterValue should handle number type: java.lang.Float","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle number type: java.lang.Float"},{"ancestorTitles":["makeSearchTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeSearchTextFilter should make boolean filters: {\n [Symbol(mockProxyType)]: 'mockReturnedFilterCondition',\n [Symbol(mockProxyDefaultProps)]: [Object],\n [Symbol(mockProxyOverrides)]: {},\n [Symbol(mockProxyProxies)]: {}\n}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should make boolean filters: {\n [Symbol(mockProxyType)]: 'mockReturnedFilterCondition',\n [Symbol(mockProxyDefaultProps)]: [Object],\n [Symbol(mockProxyOverrides)]: {},\n [Symbol(mockProxyProxies)]: {}\n}"},{"ancestorTitles":["makeSearchTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeSearchTextFilter should make boolean filters: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should make boolean filters: null"},{"ancestorTitles":["makeSearchTextFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeSearchTextFilter should make datetime filters: 2021-07-04T08:00:00 ET","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should make datetime filters: 2021-07-04T08:00:00 ET"},{"ancestorTitles":["makeSearchTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeSearchTextFilter should make datetime filters: invalid","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should make datetime filters: invalid"},{"ancestorTitles":["makeSearchTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeSearchTextFilter should handle big number types as string eq filters: java.math.BigDecimal","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle big number types as string eq filters: java.math.BigDecimal"},{"ancestorTitles":["makeSearchTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeSearchTextFilter should handle big number types as string eq filters: java.math.BigInteger","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should handle big number types as string eq filters: java.math.BigInteger"},{"ancestorTitles":["makeSearchTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeSearchTextFilter should default to string contains filter: char","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should default to string contains filter: char"},{"ancestorTitles":["makeSearchTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeSearchTextFilter should default to string contains filter: string","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should default to string contains filter: string"},{"ancestorTitles":["makeSearchTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeSearchTextFilter should default to string contains filter: unknown","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should default to string contains filter: unknown"},{"ancestorTitles":["toggleSortForColumn"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"toggleSortForColumn toggles sort properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"toggles sort properly"},{"ancestorTitles":["toggleSortForColumn"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"toggleSortForColumn should return an empty array if columnIndex is out of range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an empty array if columnIndex is out of range"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"\", escape quick filter should return \"\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"\", escape quick filter should return \"\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \" \", escape quick filter should return \" \" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \" \", escape quick filter should return \" \" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"test\", escape quick filter should return \"test\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"test\", escape quick filter should return \"test\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"test\\\\test\", escape quick filter should return \"test\\\\test\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"test\\\\test\", escape quick filter should return \"test\\\\test\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"null\\\\null\", escape quick filter should return \"null\\\\null\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"null\\\\null\", escape quick filter should return \"null\\\\null\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"\\\\null\\\\null\", escape quick filter should return \"\\\\null\\\\null\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"\\\\null\\\\null\", escape quick filter should return \"\\\\null\\\\null\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"=test\", escape quick filter should return \"\\\\=test\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"=test\", escape quick filter should return \"\\\\=test\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"\\\\test\", escape quick filter should return \"\\\\test\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"\\\\test\", escape quick filter should return \"\\\\test\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"null\", escape quick filter should return \"\\\\null\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"null\", escape quick filter should return \"\\\\null\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"NULL\", escape quick filter should return \"\\\\NULL\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"NULL\", escape quick filter should return \"\\\\NULL\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"\\\\null\", escape quick filter should return \"\\\\\\\\null\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"\\\\null\", escape quick filter should return \"\\\\\\\\null\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"\\\\testnull\", escape quick filter should return \"\\\\testnull\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"\\\\testnull\", escape quick filter should return \"\\\\testnull\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"\\\\nulll\", escape quick filter should return \"\\\\nulll\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"\\\\nulll\", escape quick filter should return \"\\\\nulll\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"\\\\\\\\null\", escape quick filter should return \"\\\\\\\\\\\\null\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"\\\\\\\\null\", escape quick filter should return \"\\\\\\\\\\\\null\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"=null\", escape quick filter should return \"\\\\=null\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"=null\", escape quick filter should return \"\\\\=null\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"!null\", escape quick filter should return \"\\\\!null\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"!null\", escape quick filter should return \"\\\\!null\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"!=null\", escape quick filter should return \"\\\\!=null\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"!=null\", escape quick filter should return \"\\\\!=null\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"*fish\", escape quick filter should return \"\\\\*fish\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"*fish\", escape quick filter should return \"\\\\*fish\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"=*fish\", escape quick filter should return \"\\\\=*fish\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"=*fish\", escape quick filter should return \"\\\\=*fish\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"shooting*\", escape quick filter should return \"shooting\\\\*\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"shooting*\", escape quick filter should return \"shooting\\\\*\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"!=shooting*\", escape quick filter should return \"\\\\!=shooting*\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"!=shooting*\", escape quick filter should return \"\\\\!=shooting*\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"==\", escape quick filter should return \"\\\\==\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"==\", escape quick filter should return \"\\\\==\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"=\", escape quick filter should return \"\\\\=\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"=\", escape quick filter should return \"\\\\=\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"!=\", escape quick filter should return \"\\\\!=\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"!=\", escape quick filter should return \"\\\\!=\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"!~\", escape quick filter should return \"\\\\!~\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"!~\", escape quick filter should return \"\\\\!~\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"~\", escape quick filter should return \"\\\\~\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"~\", escape quick filter should return \"\\\\~\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"!\", escape quick filter should return \"\\\\!\" and vice versa","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"!\", escape quick filter should return \"\\\\!\" and vice versa"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given null, escape quick filter should return null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given null, escape quick filter should return null"},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"\\\\=test\", escape quick filter should return \"\\\\=test\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"\\\\=test\", escape quick filter should return \"\\\\=test\""},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"\\\\*fish\", escape quick filter should return \"\\\\*fish\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"\\\\*fish\", escape quick filter should return \"\\\\*fish\""},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"shooting\\\\*\", escape quick filter should return \"shooting\\\\*\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"shooting\\\\*\", escape quick filter should return \"shooting\\\\*\""},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"=test\", unescape quick filter should return \"=test\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"=test\", unescape quick filter should return \"=test\""},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"null\", unescape quick filter should return \"null\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"null\", unescape quick filter should return \"null\""},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"*fish\", unescape quick filter should return \"*fish\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"*fish\", unescape quick filter should return \"*fish\""},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"shooting*\", unescape quick filter should return \"shooting*\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"shooting*\", unescape quick filter should return \"shooting*\""},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"=\", unescape quick filter should return \"=\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"=\", unescape quick filter should return \"=\""},{"ancestorTitles":["quick filter tests","Escape/UnescapeQuickTextFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests Escape/UnescapeQuickTextFilter given \"==\", unescape quick filter should return \"==\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"given \"==\", unescape quick filter should return \"==\""},{"ancestorTitles":["quick filter tests","makeQuickFilterFromComponent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeQuickFilterFromComponent should return a number filter if column type is number","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a number filter if column type is number"},{"ancestorTitles":["quick filter tests","makeQuickFilterFromComponent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeQuickFilterFromComponent should return a boolean filter if column type is boolean","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a boolean filter if column type is boolean"},{"ancestorTitles":["quick filter tests","makeQuickFilterFromComponent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeQuickFilterFromComponent should return a date filter if column type is date","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a date filter if column type is date"},{"ancestorTitles":["quick filter tests","makeQuickFilterFromComponent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeQuickFilterFromComponent should return a char filter if column type is char","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a char filter if column type is char"},{"ancestorTitles":["quick filter tests","makeQuickFilterFromComponent"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeQuickFilterFromComponent should return a text filter if column type is string","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a text filter if column type is string"},{"ancestorTitles":["quick filter tests","makeQuickFilterFromComponent"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeQuickFilterFromComponent should return a text filter for any other column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a text filter for any other column type"},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter should return a date filter if column type is date","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a date filter if column type is date"},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter should return a number filter if column type is number","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a number filter if column type is number"},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter should return a char filter if column type is char","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a char filter if column type is char"},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter","column type is not date, number, or char"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter column type is not date, number, or char should call eq function with the value if operation is \"eq\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call eq function with the value if operation is \"eq\""},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter","column type is not date, number, or char"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter column type is not date, number, or char should call eqIgnoreCase function with the value if operation is \"eqIgnoreCase\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call eqIgnoreCase function with the value if operation is \"eqIgnoreCase\""},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter","column type is not date, number, or char"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter column type is not date, number, or char should call notEq function with the value if operation is \"notEq\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call notEq function with the value if operation is \"notEq\""},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter","column type is not date, number, or char"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter column type is not date, number, or char should call notEqIgnoreCase function with the value if operation is \"notEq\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should call notEqIgnoreCase function with the value if operation is \"notEq\""},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter","column type is not date, number, or char"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter column type is not date, number, or char handles filter types with argument of value (eq, eqIgnoreCase, notEq, notEqIgnoreCase, greaterThan, greaterThanOrEqualTo, lessThan, lessThanOrEqualTo)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles filter types with argument of value (eq, eqIgnoreCase, notEq, notEqIgnoreCase, greaterThan, greaterThanOrEqualTo, lessThan, lessThanOrEqualTo)"},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter","column type is not date, number, or char"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter column type is not date, number, or char handles filter types with no arguments (isTrue, isFalse, isNull)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles filter types with no arguments (isTrue, isFalse, isNull)"},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter","column type is not date, number, or char"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter column type is not date, number, or char handles contains","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles contains"},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter","column type is not date, number, or char"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter column type is not date, number, or char handles notContains","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles notContains"},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter","column type is not date, number, or char"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter column type is not date, number, or char handles startsWith","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles startsWith"},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter","column type is not date, number, or char"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter column type is not date, number, or char handles endsWith","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles endsWith"},{"ancestorTitles":["quick filter tests","makeAdvancedValueFilter","column type is not date, number, or char"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeAdvancedValueFilter column type is not date, number, or char should throw an error for unexpected filter operations","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error for unexpected filter operations"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles default operation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles default operation"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles empty cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles empty cases"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles invalid cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles invalid cases"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles default operation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles default operation"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles = operation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles = operation"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles > operation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles > operation"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles >= operation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles >= operation"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles => operation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles => operation"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles <= operation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles <= operation"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles =< operation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles =< operation"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles decimals","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles decimals"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles commas","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles commas"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles null"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles NaN cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles NaN cases"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles infinity cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles infinity cases"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters handles abnormal filter not equal cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles abnormal filter not equal cases"},{"ancestorTitles":["quick filter tests","quick number filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick number filters should return null if it is an abnormal value with unsupported operations","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if it is an abnormal value with unsupported operations"},{"ancestorTitles":["quick filter tests","quick boolean filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick boolean filters handles empty cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles empty cases"},{"ancestorTitles":["quick filter tests","quick boolean filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick boolean filters handles invalid cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles invalid cases"},{"ancestorTitles":["quick filter tests","quick boolean filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick boolean filters handles true/false properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles true/false properly"},{"ancestorTitles":["quick filter tests","quick boolean filters"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick boolean filters handles 1 and 0 properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles 1 and 0 properly"},{"ancestorTitles":["quick filter tests","quick boolean filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick boolean filters handles null properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles null properly"},{"ancestorTitles":["quick filter tests","quick boolean filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick boolean filters handles not null properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles not null properly"},{"ancestorTitles":["quick filter tests","quick boolean filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick boolean filters handles true properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles true properly"},{"ancestorTitles":["quick filter tests","quick boolean filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick boolean filters handles false properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles false properly"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles invalid cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles invalid cases"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles year","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles year"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles year-month","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles year-month"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles year-month-day","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles year-month-day"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles year-month-day hh:mm","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles year-month-day hh:mm"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles year-month-day hh:mm:ss","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles year-month-day hh:mm:ss"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles year-month-day hh:mm:ss.SSS","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles year-month-day hh:mm:ss.SSS"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles micros year-month-day hh:mm:ss.SSSSSS","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles micros year-month-day hh:mm:ss.SSSSSS"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles nanos year-month-day hh:mm:ss.SSSSSSSSS","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles nanos year-month-day hh:mm:ss.SSSSSSSSS"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles different delimiters","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles different delimiters"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles overflows","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles overflows"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles different delimiters","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles different delimiters"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles date keywords","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles date keywords"},{"ancestorTitles":["quick filter tests","quick date filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick date filters handles null and not null date","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles null and not null date"},{"ancestorTitles":["quick filter tests","quick text filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick text filters handles empty cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles empty cases"},{"ancestorTitles":["quick filter tests","quick text filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick text filters handles null cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles null cases"},{"ancestorTitles":["quick filter tests","quick text filters"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick text filters handles in/starts with/ends with null cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles in/starts with/ends with null cases"},{"ancestorTitles":["quick filter tests","quick text filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick text filters handles not null cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles not null cases"},{"ancestorTitles":["quick filter tests","quick text filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick text filters handles escaped null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles escaped null"},{"ancestorTitles":["quick filter tests","quick text filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick text filters handles equals cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles equals cases"},{"ancestorTitles":["quick filter tests","quick text filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick text filters handles in cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles in cases"},{"ancestorTitles":["quick filter tests","quick text filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick text filters handles starts with cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles starts with cases"},{"ancestorTitles":["quick filter tests","quick text filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick text filters handles escaping starts with cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles escaping starts with cases"},{"ancestorTitles":["quick filter tests","quick text filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick text filters handles ends with cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles ends with cases"},{"ancestorTitles":["quick filter tests","quick text filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick text filters handles escaping ends with cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles escaping ends with cases"},{"ancestorTitles":["quick filter tests","multiple conditionals"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests multiple conditionals handles && multi filter case","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles && multi filter case"},{"ancestorTitles":["quick filter tests","multiple conditionals"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests multiple conditionals handles || multi filter case","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles || multi filter case"},{"ancestorTitles":["quick filter tests","multiple conditionals"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests multiple conditionals handles && and || case","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles && and || case"},{"ancestorTitles":["quick filter tests","multiple conditionals"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests multiple conditionals throws an error if filter for andComponent is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws an error if filter for andComponent is null"},{"ancestorTitles":["quick filter tests","quick char filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick char filters handles default operation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles default operation"},{"ancestorTitles":["quick filter tests","quick char filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick char filters handles empty cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles empty cases"},{"ancestorTitles":["quick filter tests","quick char filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick char filters handles invalid cases","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles invalid cases"},{"ancestorTitles":["quick filter tests","quick char filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick char filters handles default operation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles default operation"},{"ancestorTitles":["quick filter tests","quick char filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick char filters handles shorthand operations","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles shorthand operations"},{"ancestorTitles":["quick filter tests","quick char filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick char filters handles range operations","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles range operations"},{"ancestorTitles":["quick filter tests","quick char filters"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick char filters handles values that are already quoted","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles values that are already quoted"},{"ancestorTitles":["quick filter tests","quick char filters"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests quick char filters handles null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles null"},{"ancestorTitles":["quick filter tests","makeSelectValueFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeSelectValueFilter should return null if there are no selected values and invertSelection is true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if there are no selected values and invertSelection is true"},{"ancestorTitles":["quick filter tests","makeSelectValueFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeSelectValueFilter handles different column types when there are no selected values and invertSelection is false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles different column types when there are no selected values and invertSelection is false"},{"ancestorTitles":["quick filter tests","makeSelectValueFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeSelectValueFilter handles non-empty selected values with null values and invertSelection is true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles non-empty selected values with null values and invertSelection is true"},{"ancestorTitles":["quick filter tests","makeSelectValueFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeSelectValueFilter handles non-empty selected values with null values and invertSelection is false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles non-empty selected values with null values and invertSelection is false"},{"ancestorTitles":["quick filter tests","makeSelectValueFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeSelectValueFilter handles all null values as selected values and invertSelection true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles all null values as selected values and invertSelection true"},{"ancestorTitles":["quick filter tests","makeSelectValueFilter"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeSelectValueFilter handles all null values as selected values and invertSelection false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles all null values as selected values and invertSelection false"},{"ancestorTitles":["quick filter tests","makeSelectValueFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeSelectValueFilter handles non-empty selected values but no null values and invertSelection is true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles non-empty selected values but no null values and invertSelection is true"},{"ancestorTitles":["quick filter tests","makeSelectValueFilter"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quick filter tests makeSelectValueFilter handles non-empty selected values but no null values and invertSelection is false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles non-empty selected values but no null values and invertSelection is false"},{"ancestorTitles":["makeCancelableTableEventPromise"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeCancelableTableEventPromise Subscribes to a given event, returns a cancelable promise","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Subscribes to a given event, returns a cancelable promise"},{"ancestorTitles":["makeCancelableTableEventPromise"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeCancelableTableEventPromise Multiple cancel calls clean up subscription only once","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Multiple cancel calls clean up subscription only once"},{"ancestorTitles":["makeCancelableTableEventPromise"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeCancelableTableEventPromise Timeout rejects promise and cleans up subscription","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Timeout rejects promise and cleans up subscription"},{"ancestorTitles":["makeCancelableTableEventPromise"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeCancelableTableEventPromise Cancel after timeout cleans up subscription only once","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"Cancel after timeout cleans up subscription only once"},{"ancestorTitles":["converts filter type to appropriate string value for quick filters"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"converts filter type to appropriate string value for quick filters handles valid options correctly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles valid options correctly"},{"ancestorTitles":["converts filter type to appropriate string value for quick filters"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"converts filter type to appropriate string value for quick filters throws for types without a shorthand string","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"throws for types without a shorthand string"},{"ancestorTitles":["quote values"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"quote values quotes unquoted values properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"quotes unquoted values properly"},{"ancestorTitles":["quote values"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"quote values does not add quotes if already quoted","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does not add quotes if already quoted"},{"ancestorTitles":["range operations"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"range operations returns true for range operations","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns true for range operations"},{"ancestorTitles":["range operations"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"range operations returns false for other operations","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns false for other operations"},{"ancestorTitles":["Sorting","getSortIndex"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Sorting getSortIndex should return index of sort for matching column name: [], name_999","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return index of sort for matching column name: [], name_999"},{"ancestorTitles":["Sorting","getSortIndex"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Sorting getSortIndex should return index of sort for matching column name: [ [Object], [Object], [Object] ], non-existing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return index of sort for matching column name: [ [Object], [Object], [Object] ], non-existing"},{"ancestorTitles":["Sorting","getSortIndex"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Sorting getSortIndex should return index of sort for matching column name: [ [Object], [Object], [Object] ], name_999","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return index of sort for matching column name: [ [Object], [Object], [Object] ], name_999"},{"ancestorTitles":["Sorting","getSortForColumn"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Sorting getSortForColumn should return sort for matching column name: [], name_999","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return sort for matching column name: [], name_999"},{"ancestorTitles":["Sorting","getSortForColumn"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Sorting getSortForColumn should return sort for matching column name: [ [Object], [Object], [Object] ], non-existing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return sort for matching column name: [ [Object], [Object], [Object] ], non-existing"},{"ancestorTitles":["Sorting","getSortForColumn"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"Sorting getSortForColumn should return sort for matching column name: [ [Object], [Object], [Object] ], name_999","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return sort for matching column name: [ [Object], [Object], [Object] ], name_999"},{"ancestorTitles":["isTreeTable"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"isTreeTable should return true if table is a TreeTable","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if table is a TreeTable"},{"ancestorTitles":["isTreeTable"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isTreeTable should return false if table is not a TreeTable","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if table is not a TreeTable"},{"ancestorTitles":["makeNumberValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeNumberValue should return null if text is \"null\" or \"\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if text is \"null\" or \"\""},{"ancestorTitles":["makeNumberValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeNumberValue should return positive infinity if text is ∞, infinity, or inf","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return positive infinity if text is ∞, infinity, or inf"},{"ancestorTitles":["makeNumberValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeNumberValue should return positive infinity if text is -∞, -infinity, or -inf","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return positive infinity if text is -∞, -infinity, or -inf"},{"ancestorTitles":["makeNumberValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeNumberValue should return a number if text is a number","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a number if text is a number"},{"ancestorTitles":["makeNumberValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeNumberValue should throw an error if the text is not a number of any of the special values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error if the text is not a number of any of the special values"},{"ancestorTitles":["makeBooleanValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeBooleanValue should return null if text is empty and allowEmpty is true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if text is empty and allowEmpty is true"},{"ancestorTitles":["makeBooleanValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeBooleanValue should return null if text is \"null\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if text is \"null\""},{"ancestorTitles":["makeBooleanValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeBooleanValue shouhld return false for different variations of false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"shouhld return false for different variations of false"},{"ancestorTitles":["makeBooleanValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeBooleanValue should return false for different variations of false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false for different variations of false"},{"ancestorTitles":["makeBooleanValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeBooleanValue should throw an error if text is not one of the above listed values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should throw an error if text is not one of the above listed values"},{"ancestorTitles":["makeValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeValue should return null if text is \"null\"","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if text is \"null\""},{"ancestorTitles":["makeValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeValue should return text if columnType is string or char","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return text if columnType is string or char"},{"ancestorTitles":["makeValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeValue should return a LongWrapper if columnType is long","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a LongWrapper if columnType is long"},{"ancestorTitles":["makeValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeValue should return a boolean value if columnType is boolean","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a boolean value if columnType is boolean"},{"ancestorTitles":["makeValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeValue should return a DateWrapper object if columnType is date","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a DateWrapper object if columnType is date"},{"ancestorTitles":["makeValue"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeValue should return a number if columnType is number","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return a number if columnType is number"},{"ancestorTitles":["makeValue"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeValue returns null if the column type does not match any of the types","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns null if the column type does not match any of the types"},{"ancestorTitles":["getFilterText"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFilterText should return the filter text","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the filter text"},{"ancestorTitles":["getFilterText"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFilterText should return null if filter is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if filter is null"},{"ancestorTitles":["getFilterTypes"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFilterTypes should return the valid filter types for boolean column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the valid filter types for boolean column type"},{"ancestorTitles":["getFilterTypes"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getFilterTypes should return the valid filter types for char, number, or date column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the valid filter types for char, number, or date column type"},{"ancestorTitles":["getFilterTypes"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFilterTypes should return the valid filter types for text column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the valid filter types for text column type"},{"ancestorTitles":["getFilterTypes"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getFilterTypes should return an empty array if the column type is not one of the types listed above","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an empty array if the column type is not one of the types listed above"},{"ancestorTitles":["makeColumnSort"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeColumnSort should return null if columnIndex is less than 0, or columnIndex is greater than or equal to columns.length","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if columnIndex is less than 0, or columnIndex is greater than or equal to columns.length"},{"ancestorTitles":["makeColumnSort"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeColumnSort should return null if direction is null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if direction is null"},{"ancestorTitles":["makeColumnSort"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeColumnSort should return an ascending sort if direction is ASC","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an ascending sort if direction is ASC"},{"ancestorTitles":["makeColumnSort"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"makeColumnSort should return an descending sort if direction is DESC","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an descending sort if direction is DESC"},{"ancestorTitles":["makeColumnSort"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"makeColumnSort should return the default sort if direction is REVERSE","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the default sort if direction is REVERSE"},{"ancestorTitles":["sortColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sortColumns should sort the columns in ascending order based on column name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should sort the columns in ascending order based on column name"},{"ancestorTitles":["sortColumns"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sortColumns should sort the columns in descending order based on column name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should sort the columns in descending order based on column name"},{"ancestorTitles":["getNextSort"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getNextSort should return null if columnIndex is out of range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return null if columnIndex is out of range"},{"ancestorTitles":["sortColumn"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"sortColumn should return an empty array if columnIndex is out of range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return an empty array if columnIndex is out of range"},{"ancestorTitles":["sortColumn"],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"sortColumn applies sort properly","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"applies sort properly"},{"ancestorTitles":["getNormalizedType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getNormalizedType returns the boolean data type for boolean column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the boolean data type for boolean column type"},{"ancestorTitles":["getNormalizedType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getNormalizedType returns the character data type for character column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the character data type for character column type"},{"ancestorTitles":["getNormalizedType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getNormalizedType returns the string data type for string column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the string data type for string column type"},{"ancestorTitles":["getNormalizedType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getNormalizedType returns the date time data type for date time column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the date time data type for date time column type"},{"ancestorTitles":["getNormalizedType"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getNormalizedType returns the decimal data type for double, float, and bigdecimal column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the decimal data type for double, float, and bigdecimal column type"},{"ancestorTitles":["getNormalizedType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getNormalizedType returns the int data type for int, long, short, byte, and biginteger column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns the int data type for int, long, short, byte, and biginteger column type"},{"ancestorTitles":["getNormalizedType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"getNormalizedType returns unknown for any unknown column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns unknown for any unknown column type"},{"ancestorTitles":["isBigDecimalType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isBigDecimalType should return true if the column type is big decimal","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if the column type is big decimal"},{"ancestorTitles":["isBigDecimalType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isBigDecimalType should return false if column type is not big decimal","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if column type is not big decimal"},{"ancestorTitles":["isBigIntegerType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isBigIntegerType should return true if the column type is big integer","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if the column type is big integer"},{"ancestorTitles":["isBigIntegerType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isBigIntegerType should return false if column type is not big integer","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if column type is not big integer"},{"ancestorTitles":["getBaseType"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"getBaseType should return the base column type","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return the base column type"},{"ancestorTitles":["isCompatibleType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isCompatibleType should return true if two types are compatible","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return true if two types are compatible"},{"ancestorTitles":["isCompatibleType"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"isCompatibleType should return false if two types are not compatible","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return false if two types are not compatible"}],"endTime":1726597238274,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-utils/src/TableUtils.test.ts","startTime":1726597237122,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"should initially filter viewport by empty search text and exclude nothing: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initially filter viewport by empty search text and exclude nothing: undefined"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should initially filter viewport by empty search text and exclude nothing: false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initially filter viewport by empty search text and exclude nothing: false"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should initially filter viewport by empty search text and exclude nothing: true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should initially filter viewport by empty search text and exclude nothing: true"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should create distinct sorted column table applying filter condition factories: undefined","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create distinct sorted column table applying filter condition factories: undefined"},{"ancestorTitles":[],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"should create distinct sorted column table applying filter condition factories: [ [Function], [Function] ]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should create distinct sorted column table applying filter condition factories: [ [Function], [Function] ]"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should memoize results","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should memoize results"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should filter viewport by search text after debounce","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should filter viewport by search text after debounce"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should filter viewport by search text after debounce","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should filter viewport by search text after debounce"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should filter viewport by search text after debounce","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should filter viewport by search text after debounce"},{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"should remove selection and search text from viewport, and add to value map if item found: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should remove selection and search text from viewport, and add to value map if item found: null"},{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"should remove selection and search text from viewport, and add to value map if item found: null","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should remove selection and search text from viewport, and add to value map if item found: null"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should remove selection and search text from viewport, and add to value map if item found: mock.key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should remove selection and search text from viewport, and add to value map if item found: mock.key"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"should remove selection and search text from viewport, and add to value map if item found: mock.key","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should remove selection and search text from viewport, and add to value map if item found: mock.key"},{"ancestorTitles":["Flags","trimSearchText: undefined"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: undefined should return search text flags: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: "},{"ancestorTitles":["Flags","trimSearchText: undefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: undefined should return search text flags: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: "},{"ancestorTitles":["Flags","trimSearchText: undefined"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: undefined should return search text flags: in.selection ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: in.selection "},{"ancestorTitles":["Flags","trimSearchText: undefined"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: undefined should return search text flags: in.selection ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: in.selection "},{"ancestorTitles":["Flags","trimSearchText: undefined"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: undefined should return search text flags: not.in.selection ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: not.in.selection "},{"ancestorTitles":["Flags","trimSearchText: undefined"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: undefined should return search text flags: not.in.selection ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: not.in.selection "},{"ancestorTitles":["Flags","trimSearchText: false"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: false should return search text flags: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: "},{"ancestorTitles":["Flags","trimSearchText: false"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: false should return search text flags: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: "},{"ancestorTitles":["Flags","trimSearchText: false"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: false should return search text flags: in.selection ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: in.selection "},{"ancestorTitles":["Flags","trimSearchText: false"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: false should return search text flags: in.selection ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: in.selection "},{"ancestorTitles":["Flags","trimSearchText: false"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: false should return search text flags: not.in.selection ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: not.in.selection "},{"ancestorTitles":["Flags","trimSearchText: false"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: false should return search text flags: not.in.selection ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: not.in.selection "},{"ancestorTitles":["Flags","trimSearchText: true"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: true should return search text flags: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: "},{"ancestorTitles":["Flags","trimSearchText: true"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: true should return search text flags: ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: "},{"ancestorTitles":["Flags","trimSearchText: true"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: true should return search text flags: in.selection ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: in.selection "},{"ancestorTitles":["Flags","trimSearchText: true"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: true should return search text flags: in.selection ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: in.selection "},{"ancestorTitles":["Flags","trimSearchText: true"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: true should return search text flags: not.in.selection ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: not.in.selection "},{"ancestorTitles":["Flags","trimSearchText: true"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"Flags trimSearchText: true should return search text flags: not.in.selection ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should return search text flags: not.in.selection "},{"ancestorTitles":["onAddValues"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"onAddValues should do nothing if given empty values","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should do nothing if given empty values"},{"ancestorTitles":["onAddValues"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"onAddValues should update selected value map","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should update selected value map"},{"ancestorTitles":["onRemoveValues"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"onRemoveValues should clear expected values: all, ","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should clear expected values: all, "},{"ancestorTitles":["onRemoveValues"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"onRemoveValues should clear expected values: Set(3) { 'a', 'b', 'c' }, Set(2) { 'd', 'e' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should clear expected values: Set(3) { 'a', 'b', 'c' }, Set(2) { 'd', 'e' }"},{"ancestorTitles":["onRemoveValues"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"onRemoveValues should clear expected values: Set(5) { 'a', 'b', 'c', 'd', 'e' }, Set(0) {}","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should clear expected values: Set(5) { 'a', 'b', 'c', 'd', 'e' }, Set(0) {}"},{"ancestorTitles":["onRemoveValues"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"onRemoveValues should clear expected values: Set(3) { 'x', 'y', 'z' }, Set(5) { 'a', 'b', 'c', 'd', 'e' }","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should clear expected values: Set(3) { 'x', 'y', 'z' }, Set(5) { 'a', 'b', 'c', 'd', 'e' }"},{"ancestorTitles":["searchTextExists"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"searchTextExists should be null if check is in progress: isLoading:false, isDebouncing:false, valueExists:false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should be null if check is in progress: isLoading:false, isDebouncing:false, valueExists:false"},{"ancestorTitles":["searchTextExists"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"searchTextExists should be null if check is in progress: isLoading:false, isDebouncing:false, valueExists:true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should be null if check is in progress: isLoading:false, isDebouncing:false, valueExists:true"},{"ancestorTitles":["searchTextExists"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"searchTextExists should be null if check is in progress: isLoading:false, isDebouncing:true, valueExists:false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should be null if check is in progress: isLoading:false, isDebouncing:true, valueExists:false"},{"ancestorTitles":["searchTextExists"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"searchTextExists should be null if check is in progress: isLoading:false, isDebouncing:true, valueExists:true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should be null if check is in progress: isLoading:false, isDebouncing:true, valueExists:true"},{"ancestorTitles":["searchTextExists"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"searchTextExists should be null if check is in progress: isLoading:true, isDebouncing:false, valueExists:false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should be null if check is in progress: isLoading:true, isDebouncing:false, valueExists:false"},{"ancestorTitles":["searchTextExists"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"searchTextExists should be null if check is in progress: isLoading:true, isDebouncing:false, valueExists:true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should be null if check is in progress: isLoading:true, isDebouncing:false, valueExists:true"},{"ancestorTitles":["searchTextExists"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"searchTextExists should be null if check is in progress: isLoading:true, isDebouncing:true, valueExists:false","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should be null if check is in progress: isLoading:true, isDebouncing:true, valueExists:false"},{"ancestorTitles":["searchTextExists"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"searchTextExists should be null if check is in progress: isLoading:true, isDebouncing:true, valueExists:true","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should be null if check is in progress: isLoading:true, isDebouncing:true, valueExists:true"},{"ancestorTitles":["searchTextExists"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"searchTextExists should equal the return value of `doesColumnValueExist` if check is complete","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should equal the return value of `doesColumnValueExist` if check is complete"},{"ancestorTitles":["searchTextExists"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"searchTextExists should equal the return value of `doesColumnValueExist` if check is complete","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"should equal the return value of `doesColumnValueExist` if check is complete"}],"endTime":1726597238923,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/jsapi-components/src/usePickerWithSelectedValues.test.ts","startTime":1726597237461,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":1056,"failureDetails":[],"failureMessages":[],"fullName":"renders mock data model without crashing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"renders mock data model without crashing"},{"ancestorTitles":[],"duration":858,"failureDetails":[],"failureMessages":[],"fullName":"handles mouse down in top left to update selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles mouse down in top left to update selection"},{"ancestorTitles":[],"duration":912,"failureDetails":[],"failureMessages":[],"fullName":"handles mouse down in middle of grid to update selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles mouse down in middle of grid to update selection"},{"ancestorTitles":[],"duration":10,"failureDetails":[],"failureMessages":[],"fullName":"handles mouse down in the very bottom right of last cell to update selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles mouse down in the very bottom right of last cell to update selection"},{"ancestorTitles":[],"duration":997,"failureDetails":[],"failureMessages":[],"fullName":"clicking a selected cell should deselect it","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"clicking a selected cell should deselect it"},{"ancestorTitles":[],"duration":1109,"failureDetails":[],"failureMessages":[],"fullName":"ctrl clicking a selected cell should deselect it","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"ctrl clicking a selected cell should deselect it"},{"ancestorTitles":[],"duration":957,"failureDetails":[],"failureMessages":[],"fullName":"right click outside the range changes the selected ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"right click outside the range changes the selected ranges"},{"ancestorTitles":[],"duration":923,"failureDetails":[],"failureMessages":[],"fullName":"right click inside the range keeps the selected ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"right click inside the range keeps the selected ranges"},{"ancestorTitles":[],"duration":840,"failureDetails":[],"failureMessages":[],"fullName":"handles mouse drag down to update selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles mouse drag down to update selection"},{"ancestorTitles":[],"duration":815,"failureDetails":[],"failureMessages":[],"fullName":"handles mouse drag from floating section to non-floating section to scroll and update selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles mouse drag from floating section to non-floating section to scroll and update selection"},{"ancestorTitles":[],"duration":947,"failureDetails":[],"failureMessages":[],"fullName":"handles mouse drag up to update selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles mouse drag up to update selection"},{"ancestorTitles":[],"duration":977,"failureDetails":[],"failureMessages":[],"fullName":"handles mouse shift click to extend selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles mouse shift click to extend selection"},{"ancestorTitles":[],"duration":955,"failureDetails":[],"failureMessages":[],"fullName":"handles mouse ctrl click to add to selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles mouse ctrl click to add to selection"},{"ancestorTitles":[],"duration":878,"failureDetails":[],"failureMessages":[],"fullName":"deselects when ctrl clicking within a selected range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"deselects when ctrl clicking within a selected range"},{"ancestorTitles":[],"duration":887,"failureDetails":[],"failureMessages":[],"fullName":"handles ctrl+shift click to extend range in both direcitons","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles ctrl+shift click to extend range in both direcitons"},{"ancestorTitles":[],"duration":991,"failureDetails":[],"failureMessages":[],"fullName":"handles double clicking a cell to edit","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles double clicking a cell to edit"},{"ancestorTitles":[],"duration":938,"failureDetails":[],"failureMessages":[],"fullName":"handles keyboard arrow to update selection with no previous selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles keyboard arrow to update selection with no previous selection"},{"ancestorTitles":[],"duration":1120,"failureDetails":[],"failureMessages":[],"fullName":"handles keyboard arrow to move selection down/right","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles keyboard arrow to move selection down/right"},{"ancestorTitles":[],"duration":1093,"failureDetails":[],"failureMessages":[],"fullName":"handles keyboard arrow to extend selection down/up","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles keyboard arrow to extend selection down/up"},{"ancestorTitles":[],"duration":83,"failureDetails":[],"failureMessages":[],"fullName":"handles keyboard pageDown to move cursor and/or selection down","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles keyboard pageDown to move cursor and/or selection down"},{"ancestorTitles":[],"duration":74,"failureDetails":[],"failureMessages":[],"fullName":"handles keyboard pageUp to move cursor and/or selection up","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles keyboard pageUp to move cursor and/or selection up"},{"ancestorTitles":[],"duration":881,"failureDetails":[],"failureMessages":[],"fullName":"handles ctrl+shift keyboard arrows to extend selection to beginning/end","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles ctrl+shift keyboard arrows to extend selection to beginning/end"},{"ancestorTitles":[],"duration":894,"failureDetails":[],"failureMessages":[],"fullName":"handles Home/End to go to beginning/end column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles Home/End to go to beginning/end column"},{"ancestorTitles":[],"duration":1002,"failureDetails":[],"failureMessages":[],"fullName":"handles Shift+Home/End to extend selection to beginning/end column","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles Shift+Home/End to extend selection to beginning/end column"},{"ancestorTitles":[],"duration":1052,"failureDetails":[],"failureMessages":[],"fullName":"handles Ctrl+Home/End to go to beginning/end row","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles Ctrl+Home/End to go to beginning/end row"},{"ancestorTitles":[],"duration":1040,"failureDetails":[],"failureMessages":[],"fullName":"handles Ctrl+Shift+Home/End to go to beginning/end row and extend selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles Ctrl+Shift+Home/End to go to beginning/end row and extend selection"},{"ancestorTitles":[],"duration":966,"failureDetails":[],"failureMessages":[],"fullName":"handles escape to clear current ranges","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles escape to clear current ranges"},{"ancestorTitles":[],"duration":728,"failureDetails":[],"failureMessages":[],"fullName":"selects all with ctrl+a","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"selects all with ctrl+a"},{"ancestorTitles":[],"duration":700,"failureDetails":[],"failureMessages":[],"fullName":"auto selects the row with the autoselect row option set","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"auto selects the row with the autoselect row option set"},{"ancestorTitles":["mac specific shortcut tests"],"duration":704,"failureDetails":[],"failureMessages":[],"fullName":"mac specific shortcut tests handles mouse meta click to add to selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles mouse meta click to add to selection"},{"ancestorTitles":["truncate to width"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"truncate to width handles the empty string","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles the empty string"},{"ancestorTitles":["truncate to width"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"truncate to width handles zero width","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles zero width"},{"ancestorTitles":["truncate to width"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"truncate to width returns str if not truncated","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns str if not truncated"},{"ancestorTitles":["truncate to width"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"truncate to width returns truncated string if truncated","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"returns truncated string if truncated"},{"ancestorTitles":["truncate to width"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"truncate to width handles long strings","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles long strings"},{"ancestorTitles":["truncate to width"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"truncate to width handles narrow width","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"handles narrow width"},{"ancestorTitles":["paste tests","non-editable"],"duration":704,"failureDetails":[],"failureMessages":[],"fullName":"paste tests non-editable does nothing if table is not editable","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does nothing if table is not editable"},{"ancestorTitles":["paste tests","editable"],"duration":712,"failureDetails":[],"failureMessages":[],"fullName":"paste tests editable does nothing if no selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does nothing if no selection"},{"ancestorTitles":["paste tests","editable"],"duration":705,"failureDetails":[],"failureMessages":[],"fullName":"paste tests editable modifies a single cell if only one selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"modifies a single cell if only one selection"},{"ancestorTitles":["paste tests","editable"],"duration":721,"failureDetails":[],"failureMessages":[],"fullName":"paste tests editable does the whole selected range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"status":"passed","title":"does the whole selected range"}],"endTime":1726597243089,"message":"","name":"/Users/bingles/code/wt/web-client-ui/f1/packages/grid/src/Grid.test.tsx","startTime":1726597214068,"status":"passed","summary":""}],"wasInterrupted":false} \ No newline at end of file