/** * Property-Based Testing Helpers * * Shared generators and utilities for property-based tests using fast-check. * * @module __tests__/property-test-helpers */ import * as fc from "fast-check"; /** * Arbitrary generators for common security testing patterns */ export declare const arbitraries: { /** * Valid identifier characters for path parameters * Matches common conventions: alphanumeric + underscore, starting with letter/underscore */ paramName: fc.Arbitrary; /** * Generate a valid file path segment (no special chars) */ pathSegment: fc.Arbitrary; /** * Generate a valid file extension */ fileExtension: fc.Arbitrary<"ts" | "py" | "go" | "rb" | "tsx" | "js" | "jsx" | "java">; /** * Generate a plural noun for singularization testing */ pluralNoun: fc.Arbitrary<"entries" | "data" | "matches" | "categories" | "items" | "users" | "products" | "orders" | "companies" | "stories" | "addresses" | "statuses" | "boxes" | "bushes" | "media" | "sheep" | "fish">; /** * Generate an API path prefix */ apiPrefix: fc.Arbitrary<"" | "/api" | "/api/v1" | "/api/v2" | "/v1" | "/v2">; }; /** * Generate a path with Express-style parameters (:param) */ export declare function expressPath(paramNames: string[]): string; /** * Generate a path with Next.js-style parameters ([param]) */ export declare function nextjsPath(paramNames: string[]): string; /** * Generate a path with Flask-style parameters ( or ) */ export declare function flaskPath(paramNames: string[], withTypes?: boolean): string; /** * Generate a path with Spring-style parameters ({param}) */ export declare function springPath(paramNames: string[]): string; /** * Generate a test file path */ export declare function testFilePath(stem: string, extension: string): string; /** * Generate a spec file path */ export declare function specFilePath(stem: string, extension: string): string; /** * Generate a node_modules file path */ export declare function nodeModulesPath(pkg: string, file: string): string; /** * Generate a generated code file path */ export declare function generatedFilePath(stem: string): string; /** * Generate a type definition file path */ export declare function dtsFilePath(stem: string): string; /** * Arbitrary for generating arrays of unique parameter names */ export declare const uniqueParamNames: fc.Arbitrary; /** * Arbitrary for generating a file path with random structure */ export declare const filePath: fc.Arbitrary; /** * Check if a string contains any of the given characters */ export declare function containsAny(str: string, chars: string[]): boolean; /** * Path parameter delimiter characters that should never appear in extracted params */ export declare const PARAM_DELIMITERS: string[]; //# sourceMappingURL=property-test-helpers.d.ts.map