diff options
author | Eric Bailey <git@esb.lol> | 2024-09-25 15:54:43 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-25 15:54:43 -0500 |
commit | b1ca2503de55c41431aac38db4d164da7d506d4f (patch) | |
tree | bc9ee42651a4c639d910e6a31572d47fb45c5c93 /src/screens/Search/__tests__/utils.test.ts | |
parent | 6bc001a30e4376e706fd1c10469065e0e78e1bf0 (diff) | |
download | voidsky-b1ca2503de55c41431aac38db4d164da7d506d4f.tar.zst |
Add language filtering UI to search (#5459)
* Use new TextField for search bar * Add lang dropdown * Dialog * Revert "Dialog" This reverts commit 257573cd9c2a70d29df4ef5bdd503eea4ae411fe. * Extract util, test, cleanup * Fix formatting * Pass through other params * Fix sticky header * Fix stale data, hide/show * Improve query parsing * Replace memo * Couple tweaks * Revert cancel change * Remove unused placeholder
Diffstat (limited to 'src/screens/Search/__tests__/utils.test.ts')
-rw-r--r-- | src/screens/Search/__tests__/utils.test.ts | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/screens/Search/__tests__/utils.test.ts b/src/screens/Search/__tests__/utils.test.ts new file mode 100644 index 000000000..81610cc59 --- /dev/null +++ b/src/screens/Search/__tests__/utils.test.ts @@ -0,0 +1,43 @@ +import {describe, expect, it} from '@jest/globals' + +import {parseSearchQuery} from '#/screens/Search/utils' + +describe(`parseSearchQuery`, () => { + const tests = [ + { + input: `bluesky`, + output: {query: `bluesky`, params: {}}, + }, + { + input: `bluesky from:esb.lol`, + output: {query: `bluesky`, params: {from: `esb.lol`}}, + }, + { + input: `bluesky "from:esb.lol"`, + output: {query: `bluesky "from:esb.lol"`, params: {}}, + }, + { + input: `bluesky mentions:@esb.lol`, + output: {query: `bluesky`, params: {mentions: `@esb.lol`}}, + }, + { + input: `bluesky since:2021-01-01:00:00:00`, + output: {query: `bluesky`, params: {since: `2021-01-01:00:00:00`}}, + }, + { + input: `bluesky lang:"en"`, + output: {query: `bluesky`, params: {lang: `en`}}, + }, + { + input: `bluesky "literal" lang:en "from:invalid"`, + output: {query: `bluesky "literal" "from:invalid"`, params: {lang: `en`}}, + }, + ] + + it.each(tests)( + `$input -> $output.query $output.params`, + ({input, output}) => { + expect(parseSearchQuery(input)).toEqual(output) + }, + ) +}) |