Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

💥 Include invalid dates by default #4490

Merged
merged 3 commits into from
Nov 28, 2023
Merged

💥 Include invalid dates by default #4490

merged 3 commits into from
Nov 28, 2023

Conversation

dubzzz
Copy link
Owner

@dubzzz dubzzz commented Nov 28, 2023

💥 Breaking change

In v3, fc.date was not producing "Invalid Date" values by default. One has to specify noInvalidDate: false to get some. With this PR we now default the flag to false when not specified: in other words, the new default will be to produce invalid dates except asked explicitly not to.

After that change, if you want not to produce "Invalid Date", you'll have to use:

// in v3, it was only producing valid dates
fc.date()

// equivalent in v4
fc.date({noInvalidDate: true})

//---

// in v3, including invalid dates required users to pass an extra constraint to the arbitrary
fc.date({noInvalidDate: false})

// equivalent in v4
fc.date()

You can also prepare yourself to v4 by already toggling: noInvalidDate: false on your fc.date.

Copy link

codesandbox-ci bot commented Nov 28, 2023

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit fc28f52:

Sandbox Source
@fast-check/examples Configuration

Copy link

codecov bot commented Nov 28, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (6f9cfff) 93.29% compared to head (fc28f52) 93.29%.

Additional details and impacted files
@@             Coverage Diff              @@
##           next-3_14_0    #4490   +/-   ##
============================================
  Coverage        93.29%   93.29%           
============================================
  Files              207      207           
  Lines             5013     5013           
  Branches          1355     1354    -1     
============================================
  Hits              4677     4677           
  Misses             336      336           
Flag Coverage Δ
unit-tests 93.29% <100.00%> (ø)
unit-tests-18.x-Linux 93.29% <100.00%> (ø)
unit-tests-20.x-Linux 93.29% <100.00%> (ø)
unit-tests-latest-Linux 93.29% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@dubzzz dubzzz merged commit 9bd0d7b into next-3_14_0 Nov 28, 2023
65 of 66 checks passed
@dubzzz dubzzz deleted the dubzzz-patch-8 branch November 28, 2023 21:19
dubzzz added a commit that referenced this pull request Jan 2, 2024
**💥 Breaking change**

In v3, `fc.date` was not producing "Invalid Date" values by default. One has to specify `noInvalidDate: false` to get some. With this PR we now default the flag to false when not specified: in other words, the new default will be to produce invalid dates except asked explicitly not to.

After that change, if you want not to produce "Invalid Date", you'll have to use:

```js
// in v3, it was only producing valid dates
fc.date()

// equivalent in v4
fc.date({noInvalidDate: true})

//---

// in v3, including invalid dates required users to pass an extra constraint to the arbitrary
fc.date({noInvalidDate: false})

// equivalent in v4
fc.date()
```

You can also prepare yourself to v4 by already toggling: `noInvalidDate: false` on your `fc.date`.
dubzzz added a commit that referenced this pull request May 16, 2024
**💥 Breaking change**

In v3, `fc.date` was not producing "Invalid Date" values by default. One has to specify `noInvalidDate: false` to get some. With this PR we now default the flag to false when not specified: in other words, the new default will be to produce invalid dates except asked explicitly not to.

After that change, if you want not to produce "Invalid Date", you'll have to use:

```js
// in v3, it was only producing valid dates
fc.date()

// equivalent in v4
fc.date({noInvalidDate: true})

//---

// in v3, including invalid dates required users to pass an extra constraint to the arbitrary
fc.date({noInvalidDate: false})

// equivalent in v4
fc.date()
```

You can also prepare yourself to v4 by already toggling: `noInvalidDate: false` on your `fc.date`.
dubzzz added a commit that referenced this pull request May 17, 2024
**💥 Breaking change**

In v3, `fc.date` was not producing "Invalid Date" values by default. One has to specify `noInvalidDate: false` to get some. With this PR we now default the flag to false when not specified: in other words, the new default will be to produce invalid dates except asked explicitly not to.

After that change, if you want not to produce "Invalid Date", you'll have to use:

```js
// in v3, it was only producing valid dates
fc.date()

// equivalent in v4
fc.date({noInvalidDate: true})

//---

// in v3, including invalid dates required users to pass an extra constraint to the arbitrary
fc.date({noInvalidDate: false})

// equivalent in v4
fc.date()
```

You can also prepare yourself to v4 by already toggling: `noInvalidDate: false` on your `fc.date`.
dubzzz added a commit that referenced this pull request May 29, 2024
**💥 Breaking change**

In v3, `fc.date` was not producing "Invalid Date" values by default. One has to specify `noInvalidDate: false` to get some. With this PR we now default the flag to false when not specified: in other words, the new default will be to produce invalid dates except asked explicitly not to.

After that change, if you want not to produce "Invalid Date", you'll have to use:

```js
// in v3, it was only producing valid dates
fc.date()

// equivalent in v4
fc.date({noInvalidDate: true})

//---

// in v3, including invalid dates required users to pass an extra constraint to the arbitrary
fc.date({noInvalidDate: false})

// equivalent in v4
fc.date()
```

You can also prepare yourself to v4 by already toggling: `noInvalidDate: false` on your `fc.date`.
dubzzz added a commit that referenced this pull request Jul 16, 2024
**💥 Breaking change**

In v3, `fc.date` was not producing "Invalid Date" values by default. One has to specify `noInvalidDate: false` to get some. With this PR we now default the flag to false when not specified: in other words, the new default will be to produce invalid dates except asked explicitly not to.

After that change, if you want not to produce "Invalid Date", you'll have to use:

```js
// in v3, it was only producing valid dates
fc.date()

// equivalent in v4
fc.date({noInvalidDate: true})

//---

// in v3, including invalid dates required users to pass an extra constraint to the arbitrary
fc.date({noInvalidDate: false})

// equivalent in v4
fc.date()
```

You can also prepare yourself to v4 by already toggling: `noInvalidDate: false` on your `fc.date`.
dubzzz added a commit that referenced this pull request Aug 13, 2024
**💥 Breaking change**

In v3, `fc.date` was not producing "Invalid Date" values by default. One has to specify `noInvalidDate: false` to get some. With this PR we now default the flag to false when not specified: in other words, the new default will be to produce invalid dates except asked explicitly not to.

After that change, if you want not to produce "Invalid Date", you'll have to use:

```js
// in v3, it was only producing valid dates
fc.date()

// equivalent in v4
fc.date({noInvalidDate: true})

//---

// in v3, including invalid dates required users to pass an extra constraint to the arbitrary
fc.date({noInvalidDate: false})

// equivalent in v4
fc.date()
```

You can also prepare yourself to v4 by already toggling: `noInvalidDate: false` on your `fc.date`.
dubzzz added a commit that referenced this pull request Sep 23, 2024
**💥 Breaking change**

In v3, `fc.date` was not producing "Invalid Date" values by default. One has to specify `noInvalidDate: false` to get some. With this PR we now default the flag to false when not specified: in other words, the new default will be to produce invalid dates except asked explicitly not to.

After that change, if you want not to produce "Invalid Date", you'll have to use:

```js
// in v3, it was only producing valid dates
fc.date()

// equivalent in v4
fc.date({noInvalidDate: true})

//---

// in v3, including invalid dates required users to pass an extra constraint to the arbitrary
fc.date({noInvalidDate: false})

// equivalent in v4
fc.date()
```

You can also prepare yourself to v4 by already toggling: `noInvalidDate: false` on your `fc.date`.
dubzzz added a commit that referenced this pull request Nov 6, 2024
**💥 Breaking change**

In v3, `fc.date` was not producing "Invalid Date" values by default. One has to specify `noInvalidDate: false` to get some. With this PR we now default the flag to false when not specified: in other words, the new default will be to produce invalid dates except asked explicitly not to.

After that change, if you want not to produce "Invalid Date", you'll have to use:

```js
// in v3, it was only producing valid dates
fc.date()

// equivalent in v4
fc.date({noInvalidDate: true})

//---

// in v3, including invalid dates required users to pass an extra constraint to the arbitrary
fc.date({noInvalidDate: false})

// equivalent in v4
fc.date()
```

You can also prepare yourself to v4 by already toggling: `noInvalidDate: false` on your `fc.date`.
dubzzz added a commit that referenced this pull request Jan 9, 2025
**💥 Breaking change**

In v3, `fc.date` was not producing "Invalid Date" values by default. One has to specify `noInvalidDate: false` to get some. With this PR we now default the flag to false when not specified: in other words, the new default will be to produce invalid dates except asked explicitly not to.

After that change, if you want not to produce "Invalid Date", you'll have to use:

```js
// in v3, it was only producing valid dates
fc.date()

// equivalent in v4
fc.date({noInvalidDate: true})

//---

// in v3, including invalid dates required users to pass an extra constraint to the arbitrary
fc.date({noInvalidDate: false})

// equivalent in v4
fc.date()
```

You can also prepare yourself to v4 by already toggling: `noInvalidDate: false` on your `fc.date`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant