Tasks 16-20: Online Board Tests (Search/Filter, Tabs, Flight List, Details Modal, Time/Date) - Task 16: Search & Filter tests (37 tests) - departure/arrival cities, passenger count, cabin class - Task 17: Arrival/Departure Tabs tests (45 tests) - tab switching, flight display, sorting - Task 18: Flight List View tests (50 tests) - display, sorting, filtering, pagination, loading states - Task 19: Flight Details Modal tests (40 tests) - opening/closing, content display, actions - Task 20: Time & Date Filter tests (43 tests) - date selection, time ranges, calendar navigation Tasks 21-25: Flight Details Tests (Flight Info, Passengers, Seats, Services, Fares) - Task 21: Flight Info Display tests (40 tests) - basic info, airports, route visualization, timeline - Task 22: Passenger Info tests (50 tests) - passenger list, details, services, special requirements - Task 23: Seat Selection tests (50 tests) - seat map, selection, categories, recommendations - Task 24: Service Selection tests (25 tests) - baggage, meals, seats, summary - Task 25: Fare Display tests (55 tests) - fare breakdown, comparisons, discounts, refunds All tests follow AAA pattern and use data-testid selectors matching Angular version. Total: 245 tests across 10 feature suites.
ignore-walk
Nested/recursive .gitignore/.npmignore parsing and filtering.
Walk a directory creating a list of entries, parsing any .ignore
files met along the way to exclude files.
USAGE
const walk = require('ignore-walk')
// All options are optional, defaults provided.
// this function returns a promise, but you can also pass a cb
// if you like that approach better.
walk({
path: '...', // root dir to start in. defaults to process.cwd()
ignoreFiles: [ '.gitignore' ], // list of filenames. defaults to ['.ignore']
includeEmpty: true|false, // true to include empty dirs, default false
follow: true|false // true to follow symlink dirs, default false
}, callback)
// to walk synchronously, do it this way:
const result = walk.sync({ path: '/wow/such/filepath' })
If you want to get at the underlying classes, they're at walk.Walker
and walk.WalkerSync.
OPTIONS
-
pathThe path to start in. Defaults toprocess.cwd() -
ignoreFilesFilenames to treat as ignore files. The default is['.ignore']. (This is where you'd put.gitignoreor.npmignoreor whatever.) If multiple ignore files are in a directory, then rules from each are applied in the order that the files are listed. -
includeEmptySet totrueto include empty directories, assuming they are not excluded by any of the ignore rules. If not set, then this follows the standardgitbehavior of not including directories that are empty.Note: this will cause an empty directory to be included if it would contain an included entry, even if it would have otherwise been excluded itself.
For example, given the rules
*(ignore everything) and!/a/b/c(re-include the entry at/a/b/c), the directory/a/bwill be included if it is empty. -
followSet totrueto treat symbolically linked directories as directories, recursing into them. There is no handling for nested symlinks, soELOOPerrors can occur in some cases when using this option. Defaults tofalse.