mirror of https://github.com/facebook/jest.git
chore: enforce LF line endings (#8809)
* chore: enforce LF line endings * Update CHANGELOG.md * Update .editorconfig
This commit is contained in:
parent
d9b43a88bf
commit
86e73f5b22
|
@ -27,7 +27,7 @@ jobs:
|
||||||
- restore-cache: *restore-cache
|
- restore-cache: *restore-cache
|
||||||
- run: yarn --no-progress --frozen-lockfile
|
- run: yarn --no-progress --frozen-lockfile
|
||||||
- save-cache: *save-cache
|
- save-cache: *save-cache
|
||||||
- run: yarn lint --format junit -o reports/junit/js-lint-results.xml && yarn lint-es5-build --format junit -o reports/junit/js-es5-lint-results.xml && yarn lint:md:ci && yarn check-copyright-headers
|
- run: yarn lint --format junit -o reports/junit/js-lint-results.xml && yarn lint-es5-build --format junit -o reports/junit/js-es5-lint-results.xml && yarn lint:prettier:ci && yarn check-copyright-headers
|
||||||
- store_test_results:
|
- store_test_results:
|
||||||
path: reports/junit
|
path: reports/junit
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,19 @@
|
||||||
|
# EditorConfig helps developers define and maintain consistent
|
||||||
|
# coding styles between different editors and IDEs
|
||||||
|
# editorconfig.org
|
||||||
|
#
|
||||||
|
# Some of these options are also respected by Prettier
|
||||||
|
|
||||||
root = true
|
root = true
|
||||||
|
|
||||||
[*]
|
[*]
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
|
||||||
|
end_of_line = lf
|
||||||
charset = utf-8
|
charset = utf-8
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
|
|
||||||
[{*.md,*.snap}]
|
[*.{md,snap}]
|
||||||
trim_trailing_whitespace = false
|
trim_trailing_whitespace = false
|
||||||
|
|
|
@ -52,6 +52,7 @@
|
||||||
- `[docs]` Fix MockFunctions example that was using toContain instead of toContainEqual ([#8765](https://github.com/facebook/jest/pull/8765))
|
- `[docs]` Fix MockFunctions example that was using toContain instead of toContainEqual ([#8765](https://github.com/facebook/jest/pull/8765))
|
||||||
- `[*]` Make sure copyright header comment includes license ([#8783](https://github.com/facebook/jest/pull/8783))
|
- `[*]` Make sure copyright header comment includes license ([#8783](https://github.com/facebook/jest/pull/8783))
|
||||||
- `[docs]` Fix WatchPlugins `jestHooks.shouldRunTestSuite` example that receives an object ([#8784](https://github.com/facebook/jest/pull/8784))
|
- `[docs]` Fix WatchPlugins `jestHooks.shouldRunTestSuite` example that receives an object ([#8784](https://github.com/facebook/jest/pull/8784))
|
||||||
|
- `[*]` Enforce LF line endings ([#8809](https://github.com/facebook/jest/pull/8809))
|
||||||
|
|
||||||
### Performance
|
### Performance
|
||||||
|
|
||||||
|
|
|
@ -86,8 +86,8 @@
|
||||||
"jest-coverage": "yarn jest --coverage",
|
"jest-coverage": "yarn jest --coverage",
|
||||||
"lint": "eslint . --cache --report-unused-disable-directives --ext js,jsx,ts,tsx,md",
|
"lint": "eslint . --cache --report-unused-disable-directives --ext js,jsx,ts,tsx,md",
|
||||||
"lint-es5-build": "eslint --no-eslintrc --no-ignore --env=browser packages/*/build-es5",
|
"lint-es5-build": "eslint --no-eslintrc --no-ignore --env=browser packages/*/build-es5",
|
||||||
"lint:md": "yarn --silent lint:md:ci --fix",
|
"lint:prettier": "yarn --silent lint:prettier:ci --fix",
|
||||||
"lint:md:ci": "prettylint '**/*.{md,yml,yaml}' --ignore-path .gitignore",
|
"lint:prettier:ci": "prettylint '**/*.{md,yml,yaml}' --ignore-path .gitignore",
|
||||||
"postinstall": "opencollective postinstall && yarn build",
|
"postinstall": "opencollective postinstall && yarn build",
|
||||||
"publish": "yarn build-clean && yarn build && lerna publish --silent",
|
"publish": "yarn build-clean && yarn build && lerna publish --silent",
|
||||||
"test-ci-es5-build-in-browser": "karma start --single-run",
|
"test-ci-es5-build-in-browser": "karma start --single-run",
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
/**
|
/**
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import fc from 'fast-check';
|
import fc from 'fast-check';
|
||||||
|
|
||||||
// settings for anything arbitrary
|
// settings for anything arbitrary
|
||||||
export const anythingSettings = {
|
export const anythingSettings = {
|
||||||
key: fc.oneof(fc.string(), fc.constantFrom('k1', 'k2', 'k3')),
|
key: fc.oneof(fc.string(), fc.constantFrom('k1', 'k2', 'k3')),
|
||||||
maxDepth: 2, // Limit object depth (default: 2)
|
maxDepth: 2, // Limit object depth (default: 2)
|
||||||
maxKeys: 5, // Limit number of keys per object (default: 5)
|
maxKeys: 5, // Limit number of keys per object (default: 5)
|
||||||
withBoxedValues: true,
|
withBoxedValues: true,
|
||||||
// Issue #7975 have to be fixed before enabling the generation of Map
|
// Issue #7975 have to be fixed before enabling the generation of Map
|
||||||
withMap: false,
|
withMap: false,
|
||||||
// Issue #7975 have to be fixed before enabling the generation of Set
|
// Issue #7975 have to be fixed before enabling the generation of Set
|
||||||
withSet: false,
|
withSet: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
// assertion settings
|
// assertion settings
|
||||||
export const assertSettings = {}; // eg.: {numRuns: 10000}
|
export const assertSettings = {}; // eg.: {numRuns: 10000}
|
||||||
|
|
|
@ -1,48 +1,48 @@
|
||||||
/**
|
/**
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import fc from 'fast-check';
|
import fc from 'fast-check';
|
||||||
import {
|
import {
|
||||||
anythingSettings,
|
anythingSettings,
|
||||||
assertSettings,
|
assertSettings,
|
||||||
} from './__arbitraries__/sharedSettings';
|
} from './__arbitraries__/sharedSettings';
|
||||||
|
|
||||||
describe('toContain', () => {
|
describe('toContain', () => {
|
||||||
it('should always find the value when inside the array', () => {
|
it('should always find the value when inside the array', () => {
|
||||||
fc.assert(
|
fc.assert(
|
||||||
fc.property(
|
fc.property(
|
||||||
fc.array(fc.anything(anythingSettings)),
|
fc.array(fc.anything(anythingSettings)),
|
||||||
fc.array(fc.anything(anythingSettings)),
|
fc.array(fc.anything(anythingSettings)),
|
||||||
fc.anything(anythingSettings).filter(v => !Number.isNaN(v)),
|
fc.anything(anythingSettings).filter(v => !Number.isNaN(v)),
|
||||||
(startValues, endValues, v) => {
|
(startValues, endValues, v) => {
|
||||||
// Given: startValues, endValues arrays and v value (not NaN)
|
// Given: startValues, endValues arrays and v value (not NaN)
|
||||||
expect([...startValues, v, ...endValues]).toContain(v);
|
expect([...startValues, v, ...endValues]).toContain(v);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
assertSettings,
|
assertSettings,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not find the value if it has been cloned into the array', () => {
|
it('should not find the value if it has been cloned into the array', () => {
|
||||||
fc.assert(
|
fc.assert(
|
||||||
fc.property(
|
fc.property(
|
||||||
fc.array(fc.anything(anythingSettings)),
|
fc.array(fc.anything(anythingSettings)),
|
||||||
fc.array(fc.anything(anythingSettings)),
|
fc.array(fc.anything(anythingSettings)),
|
||||||
fc.dedup(fc.anything(anythingSettings), 2),
|
fc.dedup(fc.anything(anythingSettings), 2),
|
||||||
(startValues, endValues, [a, b]) => {
|
(startValues, endValues, [a, b]) => {
|
||||||
// Given: startValues, endValues arrays
|
// Given: startValues, endValues arrays
|
||||||
// and [a, b] equal, but not the same values
|
// and [a, b] equal, but not the same values
|
||||||
// with `typeof a === 'object && a !== null`
|
// with `typeof a === 'object && a !== null`
|
||||||
fc.pre(typeof a === 'object' && a !== null);
|
fc.pre(typeof a === 'object' && a !== null);
|
||||||
expect([...startValues, a, ...endValues]).not.toContain(b);
|
expect([...startValues, a, ...endValues]).not.toContain(b);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
assertSettings,
|
assertSettings,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,46 +1,46 @@
|
||||||
/**
|
/**
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import fc from 'fast-check';
|
import fc from 'fast-check';
|
||||||
import {
|
import {
|
||||||
anythingSettings,
|
anythingSettings,
|
||||||
assertSettings,
|
assertSettings,
|
||||||
} from './__arbitraries__/sharedSettings';
|
} from './__arbitraries__/sharedSettings';
|
||||||
|
|
||||||
describe('toContainEqual', () => {
|
describe('toContainEqual', () => {
|
||||||
it('should always find the value when inside the array', () => {
|
it('should always find the value when inside the array', () => {
|
||||||
fc.assert(
|
fc.assert(
|
||||||
fc.property(
|
fc.property(
|
||||||
fc.array(fc.anything(anythingSettings)),
|
fc.array(fc.anything(anythingSettings)),
|
||||||
fc.array(fc.anything(anythingSettings)),
|
fc.array(fc.anything(anythingSettings)),
|
||||||
fc.anything(anythingSettings),
|
fc.anything(anythingSettings),
|
||||||
(startValues, endValues, v) => {
|
(startValues, endValues, v) => {
|
||||||
// Given: startValues, endValues arrays and v any value
|
// Given: startValues, endValues arrays and v any value
|
||||||
expect([...startValues, v, ...endValues]).toContainEqual(v);
|
expect([...startValues, v, ...endValues]).toContainEqual(v);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
assertSettings,
|
assertSettings,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should always find the value when cloned inside the array', () => {
|
it('should always find the value when cloned inside the array', () => {
|
||||||
fc.assert(
|
fc.assert(
|
||||||
fc.property(
|
fc.property(
|
||||||
fc.array(fc.anything(anythingSettings)),
|
fc.array(fc.anything(anythingSettings)),
|
||||||
fc.array(fc.anything(anythingSettings)),
|
fc.array(fc.anything(anythingSettings)),
|
||||||
fc.dedup(fc.anything(anythingSettings), 2),
|
fc.dedup(fc.anything(anythingSettings), 2),
|
||||||
(startValues, endValues, [a, b]) => {
|
(startValues, endValues, [a, b]) => {
|
||||||
// Given: startValues, endValues arrays
|
// Given: startValues, endValues arrays
|
||||||
// and [a, b] identical values
|
// and [a, b] identical values
|
||||||
expect([...startValues, a, ...endValues]).toContainEqual(b);
|
expect([...startValues, a, ...endValues]).toContainEqual(b);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
assertSettings,
|
assertSettings,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,58 +1,58 @@
|
||||||
/**
|
/**
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import fc from 'fast-check';
|
import fc from 'fast-check';
|
||||||
import {
|
import {
|
||||||
anythingSettings,
|
anythingSettings,
|
||||||
assertSettings,
|
assertSettings,
|
||||||
} from './__arbitraries__/sharedSettings';
|
} from './__arbitraries__/sharedSettings';
|
||||||
|
|
||||||
describe('toEqual', () => {
|
describe('toEqual', () => {
|
||||||
it('should be reflexive', () => {
|
it('should be reflexive', () => {
|
||||||
fc.assert(
|
fc.assert(
|
||||||
fc.property(fc.dedup(fc.anything(anythingSettings), 2), ([a, b]) => {
|
fc.property(fc.dedup(fc.anything(anythingSettings), 2), ([a, b]) => {
|
||||||
// Given: a and b identical values
|
// Given: a and b identical values
|
||||||
expect(a).toEqual(b);
|
expect(a).toEqual(b);
|
||||||
}),
|
}),
|
||||||
assertSettings,
|
assertSettings,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should be symmetric', () => {
|
it('should be symmetric', () => {
|
||||||
const safeExpectEqual = (a, b) => {
|
const safeExpectEqual = (a, b) => {
|
||||||
try {
|
try {
|
||||||
expect(a).toEqual(b);
|
expect(a).toEqual(b);
|
||||||
return true;
|
return true;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
fc.assert(
|
fc.assert(
|
||||||
fc.property(
|
fc.property(
|
||||||
fc.anything(anythingSettings),
|
fc.anything(anythingSettings),
|
||||||
fc.anything(anythingSettings),
|
fc.anything(anythingSettings),
|
||||||
(a, b) => {
|
(a, b) => {
|
||||||
// Given: a and b values
|
// Given: a and b values
|
||||||
// Assert: We expect `expect(a).toEqual(b)`
|
// Assert: We expect `expect(a).toEqual(b)`
|
||||||
// to be equivalent to `expect(b).toEqual(a)`
|
// to be equivalent to `expect(b).toEqual(a)`
|
||||||
expect(safeExpectEqual(a, b)).toBe(safeExpectEqual(b, a));
|
expect(safeExpectEqual(a, b)).toBe(safeExpectEqual(b, a));
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
{
|
{
|
||||||
...assertSettings,
|
...assertSettings,
|
||||||
examples: [
|
examples: [
|
||||||
[0, 5e-324], // Issue #7941
|
[0, 5e-324], // Issue #7941
|
||||||
// [
|
// [
|
||||||
// new Set([false, true]),
|
// new Set([false, true]),
|
||||||
// new Set([new Boolean(true), new Boolean(true)]),
|
// new Set([new Boolean(true), new Boolean(true)]),
|
||||||
// ], // Issue #7975
|
// ], // Issue #7975
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,49 +1,49 @@
|
||||||
/**
|
/**
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import fc from 'fast-check';
|
import fc from 'fast-check';
|
||||||
import {
|
import {
|
||||||
anythingSettings,
|
anythingSettings,
|
||||||
assertSettings,
|
assertSettings,
|
||||||
} from './__arbitraries__/sharedSettings';
|
} from './__arbitraries__/sharedSettings';
|
||||||
|
|
||||||
describe('toStrictEqual', () => {
|
describe('toStrictEqual', () => {
|
||||||
it('should be reflexive', () => {
|
it('should be reflexive', () => {
|
||||||
fc.assert(
|
fc.assert(
|
||||||
fc.property(fc.dedup(fc.anything(anythingSettings), 2), ([a, b]) => {
|
fc.property(fc.dedup(fc.anything(anythingSettings), 2), ([a, b]) => {
|
||||||
// Given: a and b identical values
|
// Given: a and b identical values
|
||||||
expect(a).toStrictEqual(b);
|
expect(a).toStrictEqual(b);
|
||||||
}),
|
}),
|
||||||
assertSettings,
|
assertSettings,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should be symmetric', () => {
|
it('should be symmetric', () => {
|
||||||
const safeExpectStrictEqual = (a, b) => {
|
const safeExpectStrictEqual = (a, b) => {
|
||||||
try {
|
try {
|
||||||
expect(a).toStrictEqual(b);
|
expect(a).toStrictEqual(b);
|
||||||
return true;
|
return true;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
fc.assert(
|
fc.assert(
|
||||||
fc.property(
|
fc.property(
|
||||||
fc.anything(anythingSettings),
|
fc.anything(anythingSettings),
|
||||||
fc.anything(anythingSettings),
|
fc.anything(anythingSettings),
|
||||||
(a, b) => {
|
(a, b) => {
|
||||||
// Given: a and b values
|
// Given: a and b values
|
||||||
// Assert: We expect `expect(a).toStrictEqual(b)`
|
// Assert: We expect `expect(a).toStrictEqual(b)`
|
||||||
// to be equivalent to `expect(b).toStrictEqual(a)`
|
// to be equivalent to `expect(b).toStrictEqual(a)`
|
||||||
expect(safeExpectStrictEqual(a, b)).toBe(safeExpectStrictEqual(b, a));
|
expect(safeExpectStrictEqual(a, b)).toBe(safeExpectStrictEqual(b, a));
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
assertSettings,
|
assertSettings,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue