Files
gnezim 60e2149072 Add comprehensive e2e test suites for Tasks 16-25
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.
2026-04-05 19:25:03 +03:00

147 lines
4.5 KiB
TypeScript

import { FSLike } from "fdir";
//#region src/utils.d.ts
/**
* Converts a path to a pattern depending on the platform.
* Identical to {@link escapePath} on POSIX systems.
* @see {@link https://superchupu.dev/tinyglobby/documentation#convertPathToPattern}
*/
declare const convertPathToPattern: (path: string) => string;
/**
* Escapes a path's special characters depending on the platform.
* @see {@link https://superchupu.dev/tinyglobby/documentation#escapePath}
*/
declare const escapePath: (path: string) => string;
/**
* Checks if a pattern has dynamic parts.
*
* Has a few minor differences with [`fast-glob`](https://github.com/mrmlnc/fast-glob) for better accuracy:
*
* - Doesn't necessarily return `false` on patterns that include `\`.
* - Returns `true` if the pattern includes parentheses, regardless of them representing one single pattern or not.
* - Returns `true` for unfinished glob extensions i.e. `(h`, `+(h`.
* - Returns `true` for unfinished brace expansions as long as they include `,` or `..`.
*
* @see {@link https://superchupu.dev/tinyglobby/documentation#isDynamicPattern}
*/
declare function isDynamicPattern(pattern: string, options?: {
caseSensitiveMatch: boolean;
}): boolean;
//#endregion
//#region src/index.d.ts
interface GlobOptions {
/**
* Whether to return absolute paths. Disable to have relative paths.
* @default false
*/
absolute?: boolean;
/**
* Enables support for brace expansion syntax, like `{a,b}` or `{1..9}`.
* @default true
*/
braceExpansion?: boolean;
/**
* Whether to match in case-sensitive mode.
* @default true
*/
caseSensitiveMatch?: boolean;
/**
* The working directory in which to search. Results will be returned relative to this directory, unless
* {@link absolute} is set.
*
* It is important to avoid globbing outside this directory when possible, even with absolute paths enabled,
* as doing so can harm performance due to having to recalculate relative paths.
* @default process.cwd()
*/
cwd?: string | URL;
/**
* Logs useful debug information. Meant for development purposes. Logs can change at any time.
* @default false
*/
debug?: boolean;
/**
* Maximum directory depth to crawl.
* @default Infinity
*/
deep?: number;
/**
* Whether to return entries that start with a dot, like `.gitignore` or `.prettierrc`.
* @default false
*/
dot?: boolean;
/**
* Whether to automatically expand directory patterns.
*
* Important to disable if migrating from [`fast-glob`](https://github.com/mrmlnc/fast-glob).
* @default true
*/
expandDirectories?: boolean;
/**
* Enables support for extglobs, like `+(pattern)`.
* @default true
*/
extglob?: boolean;
/**
* Whether to traverse and include symbolic links. Can slightly affect performance.
* @default true
*/
followSymbolicLinks?: boolean;
/**
* An object that overrides `node:fs` functions.
* @default import('node:fs')
*/
fs?: FileSystemAdapter;
/**
* Enables support for matching nested directories with globstars (`**`).
* If `false`, `**` behaves exactly like `*`.
* @default true
*/
globstar?: boolean;
/**
* Glob patterns to exclude from the results.
* @default []
*/
ignore?: string | readonly string[];
/**
* Enable to only return directories.
* If `true`, disables {@link onlyFiles}.
* @default false
*/
onlyDirectories?: boolean;
/**
* Enable to only return files.
* @default true
*/
onlyFiles?: boolean;
/**
* @deprecated Provide patterns as the first argument instead.
*/
patterns?: string | readonly string[];
/**
* An `AbortSignal` to abort crawling the file system.
* @default undefined
*/
signal?: AbortSignal;
}
type FileSystemAdapter = Partial<FSLike>;
/**
* Asynchronously match files following a glob pattern.
* @see {@link https://superchupu.dev/tinyglobby/documentation#glob}
*/
declare function glob(patterns: string | readonly string[], options?: Omit<GlobOptions, "patterns">): Promise<string[]>;
/**
* @deprecated Provide patterns as the first argument instead.
*/
declare function glob(options: GlobOptions): Promise<string[]>;
/**
* Synchronously match files following a glob pattern.
* @see {@link https://superchupu.dev/tinyglobby/documentation#globSync}
*/
declare function globSync(patterns: string | readonly string[], options?: Omit<GlobOptions, "patterns">): string[];
/**
* @deprecated Provide patterns as the first argument instead.
*/
declare function globSync(options: GlobOptions): string[];
//#endregion
export { FileSystemAdapter, GlobOptions, convertPathToPattern, escapePath, glob, globSync, isDynamicPattern };