Skip to content

Conversation

@rhit-jungh
Copy link
Contributor

@rhit-jungh rhit-jungh commented Aug 23, 2024

Purpose of this PR

Merging test cases for the user interface elements for the drop down selector
-This branch does not include test cases for the example app.

Branch Dependencies:
-Main Branch and 5 other from dyrakescence. -> Pulled the main branch and solved merge conflicts

Main changes
-Package.json files and wdio file configurations

Android GUI testing is up to date, excluding example app.
iOS GUI testing us up to date, excluding example app.

fulformc and others added 30 commits May 10, 2024 14:41
* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* Reverted changes on docs so they can be in diff PR

* Removed unnecessary Flatten on single styles

* Adjusted syntax to align with project coding style
* Updated docs to reflect new React Native webpage

* Updated docs to reflect new React Native webpage

* Updated docs to reflect new React Native webpage

* Fixed grammar errors

* Mention the default value for placeholderText

* Clarified different ways to clone the repo

* Added clarification on the previous edit
* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* Removed unnecessary StyleSheet.flatten calls

* added transparency to arrow background

* Reverted changes in docs do they can be in diff PR

* Reverted testing changes in example app

* Reverted testing changes in example app

* Reverted testing changes in example app

* Used `defaultText` instead to eliminate ambiguity

* Adjusted syntax to align with project coding style

* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* Removed unnecessary StyleSheet.flatten calls

* added transparency to arrow background

* Reverted changes in docs do they can be in diff PR

* Reverted testing changes in example app

* Used `defaultText` instead to eliminate ambiguity

* Adjusted syntax to align with project coding style
* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* Removed unnecessary StyleSheet.flatten calls

* added transparency to arrow background

* MultiSelect stretch vertically for selected items

* Making the same previous changes to light mode too

* Dropdown moves when box stretches but lag on click

* Dropdown list now only move on expand, with delay

* Revert doc changes so they can be in different PR

* Revert testing changes in example app

* Removed testing prints and modified "expand"

* Used `defaultText` instead to eliminate ambiguity

* Used `defaultText` instead to eliminate ambiguity

* Scroll state no longer resets

* Correctly handle overflowNotif state changes

* Removed testing console.log()

* Changed overflowNotif to boolean instead of number

* Factored out unnecessary step for updating stretch

* Factored out unnecessary step for updating stretch

* Changed overflowNotif type to eliminate toString()

* Adjusted syntax to match project coding style

* Adjusted syntax to align with project coding style

* Reverted to number type for overflowNotif

* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* Removed unnecessary StyleSheet.flatten calls

* added transparency to arrow background

* MultiSelect stretch vertically for selected items

* Making the same previous changes to light mode too

* Dropdown moves when box stretches but lag on click

* Dropdown list now only move on expand, with delay

* Revert doc changes so they can be in different PR

* Revert testing changes in example app

* Removed testing prints and modified "expand"

* Used `defaultText` instead to eliminate ambiguity

* Scroll state no longer resets

* Correctly handle overflowNotif state changes

* Removed testing console.log()

* Changed overflowNotif to boolean instead of number

* Factored out unnecessary step for updating stretch

* Changed overflowNotif type to eliminate toString()

* Adjusted syntax to match project coding style

* Adjusted syntax to align with project coding style

* Reverted to number type for overflowNotif

* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* MultiSelect stretch vertically for selected items

* Dropdown moves when box stretches but lag on click

* Dropdown list now only move on expand, with delay

* Revert doc changes so they can be in different PR

* Revert testing changes in example app

* Scroll state no longer resets

* Correctly handle overflowNotif state changes

* Removed testing console.log()

* Changed overflowNotif to boolean instead of number

* Factored out unnecessary step for updating stretch

* Changed overflowNotif type to eliminate toString()

* Reverted to number type for overflowNotif

* Darkmode bugfix (#7)

* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* Reverted changes on docs so they can be in diff PR

* Removed unnecessary Flatten on single styles

* Adjusted syntax to align with project coding style

* Doc Updates (#10)

* Updated docs to reflect new React Native webpage

* Updated docs to reflect new React Native webpage

* Updated docs to reflect new React Native webpage

* Fixed grammar errors

* Mention the default value for placeholderText

* Clarified different ways to clone the repo

* Added clarification on the previous edit

* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* MultiSelect stretch vertically for selected items

* Dropdown moves when box stretches but lag on click

* Dropdown list now only move on expand, with delay

* Revert doc changes so they can be in different PR

* Revert testing changes in example app

* Scroll state no longer resets

* Correctly handle overflowNotif state changes

* Removed testing console.log()

* Changed overflowNotif to boolean instead of number

* Factored out unnecessary step for updating stretch

* Factored out unnecessary step for updating stretch

* Changed overflowNotif type to eliminate toString()

* Reverted to number type for overflowNotif

* Darkmode bugfix (#7)

* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* Reverted changes on docs so they can be in diff PR

* Removed unnecessary Flatten on single styles

* Adjusted syntax to align with project coding style

* Doc Updates (#10)

* Updated docs to reflect new React Native webpage

* Updated docs to reflect new React Native webpage

* Updated docs to reflect new React Native webpage

* Fixed grammar errors

* Mention the default value for placeholderText

* Clarified different ways to clone the repo

* Added clarification on the previous edit

* Fixed styling errors from merging

* reset EOF

* Removed typing for overflowNotif
rhit-jungh and others added 23 commits June 13, 2024 10:52
* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* Removed unnecessary StyleSheet.flatten calls

* added transparency to arrow background

* MultiSelect stretch vertically for selected items

* Making the same previous changes to light mode too

* Dropdown moves when box stretches but lag on click

* Dropdown list now only move on expand, with delay

* Revert doc changes so they can be in different PR

* Revert testing changes in example app

* Removed testing prints and modified "expand"

* Used `defaultText` instead to eliminate ambiguity

* Used `defaultText` instead to eliminate ambiguity

* Scroll state no longer resets

* Correctly handle overflowNotif state changes

* Removed testing console.log()

* Changed overflowNotif to boolean instead of number

* Factored out unnecessary step for updating stretch

* Factored out unnecessary step for updating stretch

* Changed overflowNotif type to eliminate toString()

* Adjusted syntax to match project coding style

* Adjusted syntax to align with project coding style

* Reverted to number type for overflowNotif

* Bug: Single entries with commas will split in UI

* Removed selectedList and typed selected as Data[]

* Testing with different values, works fine

* Reverting example app back to its original state

* Arrow color and MultiSelect highlight customizable

* Renamed to boxTextHighlightStyle

* Fixed default arrow style not applying

* Testing with different custom styles

* Adjusted syntax to fit project coding styles

* Reverted example app back to its original state

* Changed dropdownArrowColor type to string

* Updated README to reflect the new style options

* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* Removed unnecessary StyleSheet.flatten calls

* added transparency to arrow background

* MultiSelect stretch vertically for selected items

* Making the same previous changes to light mode too

* Dropdown moves when box stretches but lag on click

* Dropdown list now only move on expand, with delay

* Revert doc changes so they can be in different PR

* Revert testing changes in example app

* Removed testing prints and modified "expand"

* Used `defaultText` instead to eliminate ambiguity

* Scroll state no longer resets

* Correctly handle overflowNotif state changes

* Removed testing console.log()

* Changed overflowNotif to boolean instead of number

* Factored out unnecessary step for updating stretch

* Factored out unnecessary step for updating stretch

* Changed overflowNotif type to eliminate toString()

* Adjusted syntax to match project coding style

* Adjusted syntax to align with project coding style

* Reverted to number type for overflowNotif

* Bug: Single entries with commas will split in UI

* Removed selectedList and typed selected as Data[]

* Testing with different values, works fine

* Reverting example app back to its original state

* Arrow color and MultiSelect highlight customizable

* Renamed to boxTextHighlightStyle

* Fixed default arrow style not applying

* Testing with different custom styles

* Adjusted syntax to fit project coding styles

* Reverted example app back to its original state

* Changed dropdownArrowColor type to string

* Updated README to reflect the new style options

* Removed unused dependencies

* Replaced overflowNotif with selectorPos

* Fixed styles from merging

* Replaced pos in SelectionList with selectorPos

* Delay eliminated for bottom render

* SelectionList will go up if bottom have no space

* No more short flash of prev SelectionList position

* Code cleanup and adjusted syntax

* Update styles from merge

* up to date with main

* up to date with main

* Change dropdownArrowColor type to ColorValue

* Update docs to reflect recent changes

* undo cleanup

---------

Co-authored-by: Matthew Fulford <fulformc@rose-hulman.edu>
* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* Removed unnecessary StyleSheet.flatten calls

* added transparency to arrow background

* MultiSelect stretch vertically for selected items

* Making the same previous changes to light mode too

* Dropdown moves when box stretches but lag on click

* Dropdown list now only move on expand, with delay

* Revert doc changes so they can be in different PR

* Revert testing changes in example app

* Removed testing prints and modified "expand"

* Used `defaultText` instead to eliminate ambiguity

* Used `defaultText` instead to eliminate ambiguity

* Scroll state no longer resets

* Correctly handle overflowNotif state changes

* Removed testing console.log()

* Changed overflowNotif to boolean instead of number

* Factored out unnecessary step for updating stretch

* Factored out unnecessary step for updating stretch

* Changed overflowNotif type to eliminate toString()

* Adjusted syntax to match project coding style

* Adjusted syntax to align with project coding style

* Reverted to number type for overflowNotif

* Bug: Single entries with commas will split in UI

* Removed selectedList and typed selected as Data[]

* Testing with different values, works fine

* Reverting example app back to its original state

* Arrow color and MultiSelect highlight customizable

* Renamed to boxTextHighlightStyle

* Fixed default arrow style not applying

* Testing with different custom styles

* Adjusted syntax to fit project coding styles

* Reverted example app back to its original state

* Changed dropdownArrowColor type to string

* Updated README to reflect the new style options

* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* Removed unnecessary StyleSheet.flatten calls

* added transparency to arrow background

* MultiSelect stretch vertically for selected items

* Making the same previous changes to light mode too

* Dropdown moves when box stretches but lag on click

* Dropdown list now only move on expand, with delay

* Revert doc changes so they can be in different PR

* Revert testing changes in example app

* Removed testing prints and modified "expand"

* Used `defaultText` instead to eliminate ambiguity

* Scroll state no longer resets

* Correctly handle overflowNotif state changes

* Removed testing console.log()

* Changed overflowNotif to boolean instead of number

* Factored out unnecessary step for updating stretch

* Factored out unnecessary step for updating stretch

* Changed overflowNotif type to eliminate toString()

* Adjusted syntax to match project coding style

* Adjusted syntax to align with project coding style

* Reverted to number type for overflowNotif

* Bug: Single entries with commas will split in UI

* Removed selectedList and typed selected as Data[]

* Testing with different values, works fine

* Reverting example app back to its original state

* Arrow color and MultiSelect highlight customizable

* Renamed to boxTextHighlightStyle

* Fixed default arrow style not applying

* Testing with different custom styles

* Adjusted syntax to fit project coding styles

* Reverted example app back to its original state

* Changed dropdownArrowColor type to string

* Updated README to reflect the new style options

* Removed unused dependencies

* Replaced overflowNotif with selectorPos

* Fixed styles from merging

* Replaced pos in SelectionList with selectorPos

* Delay eliminated for bottom render

* SelectionList will go up if bottom have no space

* No more short flash of prev SelectionList position

* Code cleanup and adjusted syntax

* Update styles from merge

* Adding comment to MultiSelect

* Renamed SelectorProperties to SelectProperties

* Shortened line for determining style

* Moved the SelectorPos type to types.d.ts

* Removed unnecessary type checks

* Shortened line for determining style

* Limited SelectionList scope to only hide to eliminate ambiguity

* Flatten is unnecessary

* Adjusted arrow style syntax to match coding style

* Make sure that everything is typed

* Remove unnecessary imports

* JSX is deprecated, using React.JSX

* Simplify and format imports

* Insert semicolon and commas in correct places

* onOrientationChange syntax adjustment

* Revert onOrientationChange to original type logic

* Formatting and renaming in FlatList onPress

* Reorganized FlatList selected item style

* Removed unused imports

* Removed data from Data, likely unused

* Adjust formatting and typing

* Adjusted ListProperties styles types

* Make sure files have 1 trailing new line

* Removed onOrientationChange b/c it serves no purpose

* up to date with main

* Change selected type from `Data[] | string | Element` to `Data[] | Data`

* delabeling typing

* Simplified updatePriorities()

* destringify keys in SelectorPos objects

* delabeled typing

* Put trailing comma to stay consistent

* Removing selectorRef as it's no longer used

* Change dropdownArrowColor type to ColorValue

* Removed unused import

* Update docs to reflect recent changes

* Re-add `Data.data`

* Remove unused imports

* give each `const` their own line

* Reorder the `const`s

* `defaultText` is only used once

* update `const`s in example app

* Update example app type

* put back return types to selector functions
* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* Removed unnecessary StyleSheet.flatten calls

* added transparency to arrow background

* MultiSelect stretch vertically for selected items

* Making the same previous changes to light mode too

* Dropdown moves when box stretches but lag on click

* Dropdown list now only move on expand, with delay

* Revert doc changes so they can be in different PR

* Revert testing changes in example app

* Removed testing prints and modified "expand"

* Used `defaultText` instead to eliminate ambiguity

* Used `defaultText` instead to eliminate ambiguity

* Scroll state no longer resets

* Correctly handle overflowNotif state changes

* Removed testing console.log()

* Changed overflowNotif to boolean instead of number

* Factored out unnecessary step for updating stretch

* Factored out unnecessary step for updating stretch

* Changed overflowNotif type to eliminate toString()

* Adjusted syntax to match project coding style

* Adjusted syntax to align with project coding style

* Reverted to number type for overflowNotif

* Bug: Single entries with commas will split in UI

* Removed selectedList and typed selected as Data[]

* Testing with different values, works fine

* Reverting example app back to its original state

* Arrow color and MultiSelect highlight customizable

* Renamed to boxTextHighlightStyle

* Fixed default arrow style not applying

* Testing with different custom styles

* Adjusted syntax to fit project coding styles

* Reverted example app back to its original state

* Changed dropdownArrowColor type to string

* Updated README to reflect the new style options

* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* Removed unnecessary StyleSheet.flatten calls

* added transparency to arrow background

* MultiSelect stretch vertically for selected items

* Making the same previous changes to light mode too

* Dropdown moves when box stretches but lag on click

* Dropdown list now only move on expand, with delay

* Revert doc changes so they can be in different PR

* Revert testing changes in example app

* Removed testing prints and modified "expand"

* Used `defaultText` instead to eliminate ambiguity

* Scroll state no longer resets

* Correctly handle overflowNotif state changes

* Removed testing console.log()

* Changed overflowNotif to boolean instead of number

* Factored out unnecessary step for updating stretch

* Factored out unnecessary step for updating stretch

* Changed overflowNotif type to eliminate toString()

* Adjusted syntax to match project coding style

* Adjusted syntax to align with project coding style

* Reverted to number type for overflowNotif

* Bug: Single entries with commas will split in UI

* Removed selectedList and typed selected as Data[]

* Testing with different values, works fine

* Reverting example app back to its original state

* Arrow color and MultiSelect highlight customizable

* Renamed to boxTextHighlightStyle

* Fixed default arrow style not applying

* Testing with different custom styles

* Adjusted syntax to fit project coding styles

* Reverted example app back to its original state

* Changed dropdownArrowColor type to string

* Updated README to reflect the new style options

* Removed unused dependencies

* Replaced overflowNotif with selectorPos

* Fixed styles from merging

* Replaced pos in SelectionList with selectorPos

* Delay eliminated for bottom render

* SelectionList will go up if bottom have no space

* No more short flash of prev SelectionList position

* Code cleanup and adjusted syntax

* Update styles from merge

* Adding comment to MultiSelect

* Renamed SelectorProperties to SelectProperties

* Shortened line for determining style

* Moved the SelectorPos type to types.d.ts

* Removed unnecessary type checks

* Shortened line for determining style

* Limited SelectionList scope to only hide to eliminate ambiguity

* Flatten is unnecessary

* Adjusted arrow style syntax to match coding style

* Make sure that everything is typed

* Remove unnecessary imports

* JSX is deprecated, using React.JSX

* Simplify and format imports

* Insert semicolon and commas in correct places

* onOrientationChange syntax adjustment

* Revert onOrientationChange to original type logic

* Formatting and renaming in FlatList onPress

* Reorganized FlatList selected item style

* Removed unused imports

* Removed data from Data, likely unused

* Adjust formatting and typing

* Adjusted ListProperties styles types

* Make sure files have 1 trailing new line

* Initialize clear button appearance

* Removed onOrientationChange b/c it serves no purpose

* Clear button shows up in right position

* Clear button shows up only when items are selected

* up to date with main

* Change selected type from `Data[] | string | Element` to `Data[] | Data`

* delabeling typing

* Simplified updatePriorities()

* destringify keys in SelectorPos objects

* delabeled typing

* Added TouchableOpacity to the clear button

* Replaced ternary with short-circuiting

* Modified logic to make intent more clear

* Clear button works now

* Put trailing comma to stay consistent

* Removing selectorRef as it's no longer used

* Change dropdownArrowColor type to ColorValue

* Removed unused import

* Update docs to reflect recent changes

* update from parent branch

* Merge branch 'dysrakescence/Inherit-Custom-Styles' into dysrakescence/code-refactor
* Branched from dysrakescence/MultiSelect-clear-button

* Added options to customize the clear button

* Make user defined styles passable to SelectionList

* Rename to be more concise

* Pass in styles from MultiSelect to SelectionList

* Clear button now inherits user defined styles

* Update color value

* Make files up to date with parent branch

* Update from parent branch

* Test example app with the new styles

* Update docs to reflect the new style options

* Revert example app back to original state

* update from parent branch

* Merged with #15

* Shorten button style names

* Fix merge artifacts
* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* Removed unnecessary StyleSheet.flatten calls

* added transparency to arrow background

* MultiSelect stretch vertically for selected items

* Making the same previous changes to light mode too

* Dropdown moves when box stretches but lag on click

* Dropdown list now only move on expand, with delay

* Revert doc changes so they can be in different PR

* Revert testing changes in example app

* Removed testing prints and modified "expand"

* Used `defaultText` instead to eliminate ambiguity

* Used `defaultText` instead to eliminate ambiguity

* Scroll state no longer resets

* Correctly handle overflowNotif state changes

* Removed testing console.log()

* Changed overflowNotif to boolean instead of number

* Factored out unnecessary step for updating stretch

* Factored out unnecessary step for updating stretch

* Changed overflowNotif type to eliminate toString()

* Adjusted syntax to match project coding style

* Adjusted syntax to align with project coding style

* Reverted to number type for overflowNotif

* Bug: Single entries with commas will split in UI

* Removed selectedList and typed selected as Data[]

* Testing with different values, works fine

* Reverting example app back to its original state

* Arrow color and MultiSelect highlight customizable

* Renamed to boxTextHighlightStyle

* Fixed default arrow style not applying

* Testing with different custom styles

* Adjusted syntax to fit project coding styles

* Reverted example app back to its original state

* Changed dropdownArrowColor type to string

* Updated README to reflect the new style options

* UI now adjust accordingly if it's dark mode

* fixed colors on force dark mode

* Added 3 examples using theme options

* Added `theme` to the Props section

* Removed the functionality to force light/dark mode

* Dropdown arrow now uses unicode instead of png

* Removed unused imports

* MultiSelect: Replaced commas with highlights

* The default text is no longer highlighted

* Removed unnecessary StyleSheet.flatten calls

* added transparency to arrow background

* MultiSelect stretch vertically for selected items

* Making the same previous changes to light mode too

* Dropdown moves when box stretches but lag on click

* Dropdown list now only move on expand, with delay

* Revert doc changes so they can be in different PR

* Revert testing changes in example app

* Removed testing prints and modified "expand"

* Used `defaultText` instead to eliminate ambiguity

* Scroll state no longer resets

* Correctly handle overflowNotif state changes

* Removed testing console.log()

* Changed overflowNotif to boolean instead of number

* Factored out unnecessary step for updating stretch

* Factored out unnecessary step for updating stretch

* Changed overflowNotif type to eliminate toString()

* Adjusted syntax to match project coding style

* Adjusted syntax to align with project coding style

* Reverted to number type for overflowNotif

* Bug: Single entries with commas will split in UI

* Removed selectedList and typed selected as Data[]

* Testing with different values, works fine

* Reverting example app back to its original state

* Arrow color and MultiSelect highlight customizable

* Renamed to boxTextHighlightStyle

* Fixed default arrow style not applying

* Testing with different custom styles

* Adjusted syntax to fit project coding styles

* Reverted example app back to its original state

* Changed dropdownArrowColor type to string

* Updated README to reflect the new style options

* Removed unused dependencies

* Replaced overflowNotif with selectorPos

* Replaced pos in SelectionList with selectorPos

* Delay eliminated for bottom render

* SelectionList will go up if bottom have no space

* No more short flash of prev SelectionList position

* Code cleanup and adjusted syntax

* Update styles from merge

* Adding comment to MultiSelect

* Renamed SelectorProperties to SelectProperties

* Shortened line for determining style

* Moved the SelectorPos type to types.d.ts

* Removed unnecessary type checks

* Shortened line for determining style

* Limited SelectionList scope to only hide to eliminate ambiguity

* Flatten is unnecessary

* Adjusted arrow style syntax to match coding style

* Make sure that everything is typed

* Remove unnecessary imports

* JSX is deprecated, using React.JSX

* Simplify and format imports

* Insert semicolon and commas in correct places

* onOrientationChange syntax adjustment

* Revert onOrientationChange to original type logic

* Formatting and renaming in FlatList onPress

* Reorganized FlatList selected item style

* Removed unused imports

* Removed data from Data, likely unused

* Adjust formatting and typing

* Adjusted ListProperties styles types

* Make sure files have 1 trailing new line

* Success in building for ios

* Revert src changes to the main branch

---------

Co-authored-by: accountone <accountone@accountones-Mac-mini-3.local>
@rhit-jungh rhit-jungh changed the title GUI testing cases GUI testing cases *does not include example app tests Aug 27, 2024
@rhit-jungh rhit-jungh marked this pull request as ready for review August 27, 2024 15:15
await driver.pause(2000);
})

// selectAndScrollTest(itemsToTest[0])
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commented out code should be removed

const selector = await driver.$(`-ios class chain:**/XCUIElementTypeOther[\`name == "${items.join(', ')} ᨆ"\`][2]`);
expect(selector).toExist();
await driver.pause(500);
//reset
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is being reset?

selectAndScrollTest(items[1], itemCoordinates);
selectAndScrollTest(items[3], itemCoordinates);
selectAndScrollTest(items[2], itemCoordinates);
// cant trap these in a loop, because it would throw off the order
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this comment referring to?


// do one at a time, because if the test cases go to long, it might timeout.
selectWithAlgorithmTest(itemsToTest[0], pattern[0]);
//selectWithAlgorithmTest(itemsToTest[1], pattern[1]);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commented out code should be removed

await expect(selector).toHaveAttribute('name', expect.stringContaining(items[i]));
await driver.pause(500);
}
//reset
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is being reset?

type ColorValue,
type TextStyle,
type ViewStyle,
type NativeScrollRectangle,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this type used anywhere?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file should be reset with git checkout origin/main src/components/SelectionList.tsx

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file should be reset with git checkout origin/main src/components/Select.tsx

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file should be reset with git checkout origin/main src/components/MultiSelect.tsx

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these changes to the example app needed as part of the testing?

@fulformc fulformc marked this pull request as draft February 13, 2025 16:50
@egeakman egeakman requested a review from Copilot March 26, 2025 20:28
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces comprehensive GUI testing for the drop down selector across Android and iOS platforms, while intentionally excluding tests for the example app.

  • Added a wide range of new unit, integration, and system test files to validate multi-select and single-select functionalities.
  • Updated configuration files and documentation (README and examples) for both Android and iOS testing environments.

Reviewed Changes

Copilot reviewed 43 out of 45 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Test-DropDown-Selector/test/Unit_MultiSelect.js Added unit tests for multi-select functionality using pointer actions.
Test-DropDown-Selector/test/Test_Manual.js Introduced manual test cases for single-item selection.
Test-DropDown-Selector/test/System_Algorithm.js Added integration tests employing scrolling and selection algorithms.
Test-DropDown-Selector/test/IntegrationSingle.js Implemented integration tests for single item selection with scroll actions.
Test-DropDown-Selector/test/IntegrationMulti.js Added integration tests for multi-item selection with scrolling.
Test-DropDown-Selector/test/IntegrationDynamics.js Introduced dynamic multi-select tests using algorithm-driven selection.
Test-DropDown-Selector/docs/examples.md Provided code examples illustrating pointer actions.
Test-DropDown-Selector/README.md Updated documentation for Android GUI testing.
Test-DropDown-Selector-iOS/wdio.conf.js Added configuration for running iOS tests.
Test-DropDown-Selector-iOS/test/unit_SmallSingleSelect.js Added unit tests for small single selection on iOS.
Test-DropDown-Selector-iOS/test/unit_SingleSelect.js Added unit tests for standard single selection on iOS.
Test-DropDown-Selector-iOS/test/unit_MultiSelect.js Introduced unit tests for multi-select functionality on iOS.
Test-DropDown-Selector-iOS/test/System_Algorithm.js Added system-level integration tests for iOS multi-select logic.
Test-DropDown-Selector-iOS/test/Integration_Single.js Implemented integration tests for single selection on iOS.
Test-DropDown-Selector-iOS/test/Integration_Multi.js Added integration tests for multi-selection on iOS.
Test-DropDown-Selector-iOS/test/Integration_DynamicSelect.js Introduced dynamic multi-select integration tests on iOS.
Test-DropDown-Selector-iOS/README.md Updated documentation for iOS GUI testing.
Files not reviewed (2)
  • Test-DropDown-Selector-iOS/package.json: Language not supported
  • Test-DropDown-Selector/package.json: Language not supported
Comments suppressed due to low confidence (1)

Test-DropDown-Selector/test/Unit_MultiSelect.js:46

  • The variable 'Item3' is misleading because it selects an element with accessibility id 'Item 4'. Consider renaming it to 'Item4' or updating the locator to match the intended item.
const Item3 = await driver.$("accessibility id:Item 4");

```

### Install Appium Inspector
- [Download the compatable Appium Inspector here](https://github.com/appium/appium-inspector/releases)
Copy link

Copilot AI Mar 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The word 'compatable' is misspelled; it should be 'compatible'.

Suggested change
- [Download the compatable Appium Inspector here](https://github.com/appium/appium-inspector/releases)
- [Download the compatible Appium Inspector here](https://github.com/appium/appium-inspector/releases)

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants