aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
10 daysfeat(library): multi-locale phone validator + ↵natsuoto11-9/+244
postal/semver/slug/hostname/port/isbn/vin corpora + all-validator round-trip and operator-algebra equivalence coverage
11 dayschore: enforce fully strict static typing across library, tests, and tooling ↵natsuoto46-548/+481
with zero suppressions
11 daysfeat(release): changes/ fragment system + generator, .public-surface ↵natsuoto8-0/+351
snapshot + CI migration gate, deprecation-warning + anchor harnesses, Trusted Publishing, relicense CHANGELOG entry
11 daystest(serialize): cover the composite-value branch of _require_schema_version ↵natsuoto1-0/+6
so PyPy and every CPython matrix entry reaches 100%
12 dayschore: codebase-wide rule audit — eliminate Any/object where non-protocol, ↵natsuoto21-219/+219
hoist in-function imports, rename compound/folder-repeat files, replace generic-exception raises, bind chained comprehensions, strip __init__ docstrings, remove pragmas
12 daysfeat(integrations): edify[pydantic], edify[fastapi], edify[django] with ↵natsuoto3-0/+202
deferred imports + Sphinx autodoc section + per-extra CI install verification
12 daysfeat(library): ipv4/ipv6/email_rfc_5322/iso_date/zip_code validators + ↵natsuoto85-2/+370
real-world corpus hardening across 14 patterns + guarantee docstrings
12 dayschore(bench): tests/bench scaffolding + case suite + cold/warm ratio gate + ↵natsuoto5-0/+187
advisory CI job + workflow_dispatch baseline + codecov PR comments
12 daystest(property): Hypothesis harness + property tests for builder emission, ↵natsuoto5-0/+291
roundtrips, quantifier count parity, reverse parser
12 dayschore(coverage): exclude_also + global --cov=edify addopts + anti-vacuous ↵natsuoto2-0/+94
and pragma discipline tests
12 daysfix(ci): skip re.DEBUG doc block on PyPy — hits the same upstream ↵natsuoto1-0/+11
disassembler bug
12 daysfeat(compile): AST-walker ReDoS detection for the (x+)+ shape emits ↵natsuoto2-0/+85
ReDoSWarning at build time
12 daysfeat(errors): structured open-frame stack with per-frame call sites; ↵natsuoto2-3/+89
DanglingQuantifierError names the pending quantifier
12 daystest(discipline): orphan detection for library/fixture/doc snapshot rootsnatsuoto1-0/+131
12 daystest: snapshot deeply-nested alternation, combined lookaround, ↵natsuoto10-3/+135
named-backref, and ReDoS edge fixtures
12 daystest: snapshot every executable doc code-block; pin the docs against silent ↵natsuoto65-0/+131
regex drift
12 daystest: snapshot suite for every public library validator (223 patterns)natsuoto224-0/+253
12 daysfeat!(compile): normalize char-class escaping to minimal correct form; add ↵natsuoto2-4/+119
equivalence corpus
12 daystest: pin char-class insertion-order and to_regex_string() == ↵natsuoto2-0/+55
to_regex().pattern invariants
12 daysfeat(testing): difflib-based snapshot helper with EDIFY_UPDATE_SNAPSHOTS=1 ↵natsuoto1-0/+90
regenerate mode
12 daysfeat(builder): RegexBuilder.from_regex reverse parser for the common ↵natsuoto1-0/+113
construct set
12 daysfeat(result): Match wrapper exposes named captures as attributes ↵natsuoto1-0/+117
(m.username, m.captures.username)
12 daysfeat(builder): first-class .assert_matches and .assert_rejects helpers for ↵natsuoto1-0/+71
pattern authors
12 daysfeat(pattern): Pattern.__call__ delegates to .test so validators double as ↵natsuoto3-2/+32
callables
12 daysperf(builder): lazy source_line and cached co_positions/abspath cut ↵natsuoto2-6/+29
chain-step allocation by ~4.6x
12 daysfeat!(builder): close the match-verb surface at ↵natsuoto3-33/+51
test/match/search/findall/sub; reach fullmatch/finditer/subn/split via .to_regex()
12 daysfeat(builder): per-instance lazy compile cache shared across to_regex and ↵natsuoto1-0/+63
the matcher methods
12 daysfeat(engine): pass-through timeout= kwarg on every match method under ↵natsuoto1-0/+109
engine=regex
12 daysfeat(engine): unlock variable-width lookbehind under engine=regex; annotate ↵natsuoto1-0/+59
the re-engine failure with an actionable error
12 daysfeat(engine): route to_regex(engine=re|regex) through a backend layer; regex ↵natsuoto2-4/+83
is a deferred-import extra
12 daysrefactor(typing): make edify pass mypy --strict and pyright --strict end to endnatsuoto1-9/+0
12 daystest(discipline): every type-checker suppression carries a code and inline ↵natsuoto1-0/+35
reason
12 daysfeat(builder): typed engine=Literal kwarg on to_regex with EngineNotWiredErrornatsuoto1-0/+19
12 daysrefactor(serialize): precise JSONValue types replace Any; hoist imports; ↵natsuoto1-0/+11
drop docstring from __init__
13 daysfeat(pattern): canonical dict/JSON serialization on Pattern (to_dict, ↵natsuoto2-0/+294
from_dict, to_json, from_json, schema v0)
13 daysfeat(atoms): expand from 13 to 83 general-purpose composable fragmentsnatsuoto70-0/+1820
13 daysrename(atoms): single-word filenames ↵natsuoto9-36/+36
(octet/port/label/uuid/hexcolor/nibble/isodate/clock/localpart)
13 daysfeat(atoms): public edify.atoms with 13 composable Pattern fragmentsnatsuoto13-0/+338
2026-07-11refactor: eliminate suppression comments and internal-import tests, delete ↵natsuoto14-305/+27
now-dead defensive code
2026-07-11refactor(library): rewrite geo/postal to inline patterns; delete ↵natsuoto2-0/+17
RegexBackedPattern escape hatch
2026-07-11chore: ruff format + lint fixes (en-dash → hyphen, line-length, script.py ↵natsuoto4-0/+11
noqa)
2026-07-11feat(library): reorganize into 22 category folders + flat 200-name re-export ↵natsuoto11-271/+31
at edify.library
2026-07-10test: license.test.py asserts installed edify carries MIT license expression ↵natsuoto1-0/+16
(#237)
2026-07-10chore: apply ruff format and drop unused import in new context testsnatsuoto1-7/+2
2026-07-10test: cover diagnose fallback branches and caller-context position fallbacksnatsuoto2-0/+217
2026-07-10chore: apply ruff lint and format fixesnatsuoto7-103/+45
2026-07-10test(builder): extend Hypothesis property test to cover groups, captures, ↵natsuoto1-29/+182
subexpressions (#111)
2026-07-10feat(result): Regex wrapper with AST, delegation, and introspection API ↵natsuoto6-0/+2323
(#133, #145, #146, #147, #148)
2026-07-10feat(builder): lazy Regex compile cache and __eq__/__hash__ diagnose ↵natsuoto2-0/+156
unfinished builders (#127, #137)
2026-07-10feat(errors): annotated error messages with caller-context pointersnatsuoto3-39/+249