ridiculousfish / regress

REGex in Rust with EcmaScript Syntax
Apache License 2.0
175 stars 11 forks source link

ECMA Script Regex tests suite #92

Open eirnym opened 5 months ago

eirnym commented 5 months ago

The crate claims that it targets EcmaScript (aka JavaScript) regular expression syntax.

Could you please add tests (with CI?) to test whole suite to know the exact difference between EcmaScript Regex and this library?

ridiculousfish commented 5 months ago

regress already has an extensive test suite which runs in its CI. Any difference you find between regress and EcmaScript syntax in Unicode mode (/u flag) is a bug.

Non-Unicode mode is still a WIP.

raskad commented 5 months ago

In addition to the internal tests, you can also look at the actual ECMAScript Test Suite tests ran on the boa engine. We use regress in boa. There are some more things that are being tested there, since regress only implements the regex engine and the ECMAScript tests sometimes have wider test boundaries.

You can take a look at those tests either in the test coverage on the boa website https://boajs.dev/conformance or via the independently run site https://test262.fyi where boa is compared to other engines like v8 and SpiderMonkey.

But to spare you from going trough those results I can already spoiler you. Except for 2 tests that are caused by the lack of Unicode 15.1 support, all relevent RegExp tests are passing. We actually wrote about this in our latest release notes: https://boajs.dev/blog/2024/03/07/boa-release-18#regexp

Based on that I think the claim in regress stands on pretty solid ground ;)