diff --git a/src/lib/components/container.jsx b/src/lib/components/container.jsx index 7e1df52..04d63e9 100644 --- a/src/lib/components/container.jsx +++ b/src/lib/components/container.jsx @@ -1,6 +1,6 @@ import React, { useState, useEffect, useRef, useContext } from 'react' import setify from 'setify' // Sets input value without changing cursor position -import { TurnstoneContext } from '../context/turnstone' +import { StateContext } from '../context/state' import Items from './items' import { useDebounce } from 'use-debounce' import { useAutoFocus, useQueryChange } from './hooks/containerEffects' @@ -61,7 +61,7 @@ export default function Container(props) { customStyles, selectedState, setSelectedState - } = useContext(TurnstoneContext) + } = useContext(StateContext) // Component state const [debouncedQuery] = useDebounce(state.query, debounceWait) diff --git a/src/lib/components/container.test.jsx b/src/lib/components/container.test.jsx index 23b546e..e8b2f68 100644 --- a/src/lib/components/container.test.jsx +++ b/src/lib/components/container.test.jsx @@ -2,7 +2,7 @@ // import renderer from 'react-test-renderer' // import { vi, describe, expect, test } from 'vitest' -// import { TurnstoneContextProvider } from '../context/turnstone' +// import { StateContextProvider } from '../context/turnstone' // import Container from './container' // import fruits from '../../data' @@ -18,7 +18,7 @@ // } // const component = renderer.create( -// +// // -// +// // ) // const tree = component.toJSON() diff --git a/src/lib/components/hooks/containerEffects.test.js b/src/lib/components/hooks/containerEffects.test.js index 0376370..1905171 100644 --- a/src/lib/components/hooks/containerEffects.test.js +++ b/src/lib/components/hooks/containerEffects.test.js @@ -1,4 +1,4 @@ -import { vi, describe, test, expect, beforeEach } from 'vitest' +import { vi, describe, test, expect } from 'vitest' import { renderHook } from '@testing-library/react-hooks' import { useAutoFocus, diff --git a/src/lib/components/item.jsx b/src/lib/components/item.jsx index b446118..7050835 100644 --- a/src/lib/components/item.jsx +++ b/src/lib/components/item.jsx @@ -1,7 +1,7 @@ import React, { useContext, useMemo } from 'react' import defaultStyles from './styles/item.styles.js' import MatchingText from './matchingText' -import { TurnstoneContext } from '../context/turnstone' +import { StateContext } from '../context/state' import isUndefined from '../utils/isUndefined' import escapeStringRegExp from 'escape-string-regexp' import { setHighlighted } from '../actions/actions' @@ -15,7 +15,7 @@ export default function Item(props) { customStyles, setSelectedState, splitCharState - } = useContext(TurnstoneContext) + } = useContext(StateContext) const splitText = useMemo(() => { if (isUndefined(splitCharState)) return [item.text] diff --git a/src/lib/components/item.test.jsx b/src/lib/components/item.test.jsx index 7b43d54..29cc9fe 100644 --- a/src/lib/components/item.test.jsx +++ b/src/lib/components/item.test.jsx @@ -2,7 +2,7 @@ import React from 'react' import renderer from 'react-test-renderer' import { describe, expect, test } from 'vitest' -import { TurnstoneContextProvider } from '../context/turnstone.jsx' +import { StateContextProvider } from '../context/state.jsx' import Item from './item.jsx' // TODO: Create test helper files? @@ -22,13 +22,13 @@ const item = { } const component = renderer.create( - + - + ) let tree = component.toJSON() diff --git a/src/lib/components/itemFirst.jsx b/src/lib/components/itemFirst.jsx index 1ee3c26..f9fe3b3 100644 --- a/src/lib/components/itemFirst.jsx +++ b/src/lib/components/itemFirst.jsx @@ -1,10 +1,10 @@ import React, { useContext } from 'react' -import { TurnstoneContext } from '../context/turnstone' +import { StateContext } from '../context/state' import Item from './item' export default function ItemFirst(props) { const { groupName, index, item } = props - const { customStyles } = useContext(TurnstoneContext) + const { customStyles } = useContext(StateContext) return ( diff --git a/src/lib/components/itemFirst.test.jsx b/src/lib/components/itemFirst.test.jsx index 2b84f62..9eb9765 100644 --- a/src/lib/components/itemFirst.test.jsx +++ b/src/lib/components/itemFirst.test.jsx @@ -2,7 +2,7 @@ import React from 'react' import renderer from 'react-test-renderer' import { vi, describe, expect, test } from 'vitest' -import { TurnstoneContextProvider } from '../context/turnstone' +import { StateContextProvider } from '../context/state' import ItemFirst from './itemFirst' vi.mock('./item', () => ({ default: () => 'Item' })) @@ -14,13 +14,13 @@ describe('ItemFirst', () => { } const component = renderer.create( - + - + ) const tree = component.toJSON() diff --git a/src/lib/components/items.jsx b/src/lib/components/items.jsx index e1fbf8b..a026f7c 100644 --- a/src/lib/components/items.jsx +++ b/src/lib/components/items.jsx @@ -1,5 +1,5 @@ import React, { useContext, useMemo } from 'react' -import { TurnstoneContext } from '../context/turnstone' +import { StateContext } from '../context/state' import defaultStyles from './styles/items.styles.js' import ItemFirst from './itemFirst' import Item from './item' @@ -7,7 +7,7 @@ import isUndefined from '../utils/isUndefined' export default function Items(props) { const { isLoading, items, loadingMessage, noItemsMessage } = props - const { customStyles } = useContext(TurnstoneContext) + const { customStyles } = useContext(StateContext) const itemElements = () => { return ( diff --git a/src/lib/components/matchingText.jsx b/src/lib/components/matchingText.jsx index 0b3fae8..030211d 100644 --- a/src/lib/components/matchingText.jsx +++ b/src/lib/components/matchingText.jsx @@ -1,10 +1,10 @@ import React, { useContext } from 'react' -import { TurnstoneContext } from '../context/turnstone' +import { StateContext } from '../context/state' import escapeStringRegExp from 'escape-string-regexp' export default function MatchingText(props) { const { text } = props - const { customStyles, state } = useContext(TurnstoneContext) + const { customStyles, state } = useContext(StateContext) const regex = new RegExp('(' + escapeStringRegExp(state.query) + ')', 'i') const parts = (state.query) ? text.split(regex) : [text] const matchingText = parts.map((part, index) => { diff --git a/src/lib/components/matchingText.test.jsx b/src/lib/components/matchingText.test.jsx index bdcc566..89f0d48 100644 --- a/src/lib/components/matchingText.test.jsx +++ b/src/lib/components/matchingText.test.jsx @@ -2,19 +2,19 @@ import React from 'react' import renderer from 'react-test-renderer' import { describe, expect, test } from 'vitest' -import { TurnstoneContextProvider } from '../context/turnstone.jsx' +import { StateContextProvider } from '../context/state' import MatchingText from './matchingText.jsx' describe('MatchingText', () => { test('snapshot renders', () => { const component = renderer.create( - - + ) - + const tree = component.toJSON() expect(tree).toMatchSnapshot() diff --git a/src/lib/context/__snapshots__/state.test.jsx.snap b/src/lib/context/__snapshots__/state.test.jsx.snap new file mode 100644 index 0000000..7a72a78 --- /dev/null +++ b/src/lib/context/__snapshots__/state.test.jsx.snap @@ -0,0 +1,3 @@ +// Vitest Snapshot v1 + +exports[`StateContextProvider > StateContextProvider component renders 1`] = `"Test"`; diff --git a/src/lib/context/__snapshots__/turnstone.test.jsx.snap b/src/lib/context/__snapshots__/turnstone.test.jsx.snap index 3dbe836..7a72a78 100644 --- a/src/lib/context/__snapshots__/turnstone.test.jsx.snap +++ b/src/lib/context/__snapshots__/turnstone.test.jsx.snap @@ -1,3 +1,3 @@ // Vitest Snapshot v1 -exports[`TurnstoneContextProvider > TurnstoneContextProvider component renders 1`] = `"Test"`; +exports[`StateContextProvider > StateContextProvider component renders 1`] = `"Test"`; diff --git a/src/lib/context/turnstone.jsx b/src/lib/context/state.jsx similarity index 78% rename from src/lib/context/turnstone.jsx rename to src/lib/context/state.jsx index bb5d5b0..8ac6737 100644 --- a/src/lib/context/turnstone.jsx +++ b/src/lib/context/state.jsx @@ -3,9 +3,9 @@ import reducer from '../reducers/reducer' import {setQuery} from '../actions/actions' import undef from '../utils/undef' -const TurnstoneContext = createContext() //TODO: Rename GlobalStateContext +const StateContext = createContext() //TODO: Rename GlobalStateContext -const TurnstoneContextProvider = (props) => { +const StateContextProvider = (props) => { const { children, splitChar, styles = {}, text = '', items = [] } = props const [state, dispatch] = useReducer(reducer, { query: text, @@ -22,7 +22,7 @@ const TurnstoneContextProvider = (props) => { useEffect(() => dispatch(setQuery(text)), [text]) // TODO: Is this needed? return ( - { splitCharState }}> {children} - + ) } -export { TurnstoneContext, TurnstoneContextProvider } +export { StateContext, StateContextProvider } diff --git a/src/lib/context/state.test.jsx b/src/lib/context/state.test.jsx new file mode 100644 index 0000000..a8fb983 --- /dev/null +++ b/src/lib/context/state.test.jsx @@ -0,0 +1,22 @@ +import React from 'react' +import renderer from 'react-test-renderer' + +import { describe, expect, test } from 'vitest' +import { StateContextProvider, StateContext } from './state.jsx' + +describe('StateContextProvider', () => { + test('StateContextProvider component renders', () => { + const component = renderer.create( + Test + ) + const tree = component.toJSON() + + expect(tree).toMatchSnapshot() + }) +}) + +describe('StateContext', () => { + test('StateContext is present', () => { + expect(StateContext && typeof StateContext === 'object').toBe(true) + }) +}) \ No newline at end of file diff --git a/src/lib/context/turnstone.test.jsx b/src/lib/context/turnstone.test.jsx deleted file mode 100644 index 43f36f6..0000000 --- a/src/lib/context/turnstone.test.jsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react' -import renderer from 'react-test-renderer' - -import { describe, expect, test } from 'vitest' -import { TurnstoneContextProvider, TurnstoneContext } from './turnstone.jsx' - -describe('TurnstoneContextProvider', () => { - test('TurnstoneContextProvider component renders', () => { - const component = renderer.create( - Test - ) - const tree = component.toJSON() - - expect(tree).toMatchSnapshot() - }) -}) - -describe('TurnstoneContext', () => { - test('TurnstoneContext is present', () => { - expect(TurnstoneContext && typeof TurnstoneContext === 'object').toBe(true) - }) -}) \ No newline at end of file diff --git a/src/lib/index.jsx b/src/lib/index.jsx index cab8932..0651a2f 100644 --- a/src/lib/index.jsx +++ b/src/lib/index.jsx @@ -2,19 +2,19 @@ import React from 'react' import PropTypes from 'prop-types' -import { TurnstoneContextProvider } from './context/turnstone' +import { StateContextProvider } from './context/state' import isUndefined from './utils/isUndefined' import Container from './components/container' export default function Turnstone(props) { const { splitChar, styles, text } = props return ( - - + ) }