UNPKG

3.61 kBJavaScriptView Raw
1'use strict';
2
3var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
4
5var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
6
7var _ava = require('ava');
8
9var _ava2 = _interopRequireDefault(_ava);
10
11var _ = require('.');
12
13var _2 = _interopRequireDefault(_);
14
15function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
17var VERSION_MESSAGES = ['0.0.1', '0.1.0', '1.0.0', '0.0.1-alpha', '0.0.1-some-crazy-tag', '0.0.1-0', '0.0.1-999', '0.0.1-alpha.0', '0.0.1-alpha.999', '0.0.1-some-crazy-tag.0', '0.0.1-some-crazy-tag.999', '0.0.1-1e69d54', 'v0.0.1', ' v3.0.0'];
18
19var AMENDMENTS = ['Signed-off-by: Developer <example@example.com>', 'Change-Id: I895114872a515a269487a683124b63303818e19c', 'Signed-off-by: Developer <example@example.com>\nChange-Id: I895114872a515a269487a683124b63303818e19c'];
20
21var AMENDED_VERSION_MESSAGES = VERSION_MESSAGES.reduce(function (results, message) {
22 return [].concat((0, _toConsumableArray3.default)(results), (0, _toConsumableArray3.default)(AMENDMENTS.map(function (amendment) {
23 return `${message}\n\n${amendment}`;
24 })));
25}, []);
26
27(0, _ava2.default)('should return false when called without arguments', function (t) {
28 t.false((0, _2.default)());
29});
30
31(0, _ava2.default)('should return false when called with empty string', function (t) {
32 t.false((0, _2.default)(''));
33});
34
35(0, _ava2.default)('should return false for normal commit', function (t) {
36 t.false((0, _2.default)('initial commit'));
37});
38
39(0, _ava2.default)('should return true for branch merges', function (t) {
40 t.true((0, _2.default)("Merge branch 'iss53'"));
41});
42
43(0, _ava2.default)('should return true for branch merges with newline characters', function (t) {
44 t.true((0, _2.default)("Merge branch 'ctrom-YarnBuild'\n"));
45 t.true((0, _2.default)("Merge branch 'ctrom-YarnBuild'\r\n"));
46});
47
48(0, _ava2.default)('should return true for branch merges with multiple newline characters', function (t) {
49 t.true((0, _2.default)("Merge branch 'ctrom-YarnBuild'\n\n\n"));
50 t.true((0, _2.default)("Merge branch 'ctrom-YarnBuild'\r\n\r\n\r\n"));
51});
52
53(0, _ava2.default)('should return true for merged PRs', function (t) {
54 t.true((0, _2.default)('Merge pull request #369'));
55});
56
57(0, _ava2.default)('should return true for revert commits', function (t) {
58 t.true((0, _2.default)(`Revert "docs: add recipe for linting of all commits in a PR (#36)"\n\nThis reverts commit 1e69d542c16c2a32acfd139e32efa07a45f19111.`));
59 t.true((0, _2.default)(`revert "docs: add recipe for linting of all commits in a PR (#36)"\n\nThis reverts commit 1e69d542c16c2a32acfd139e32efa07a45f19111.`));
60});
61
62(0, _ava2.default)('should ignore npm semver commits', function (t) {
63 VERSION_MESSAGES.forEach(function (message) {
64 return t.true((0, _2.default)(message));
65 });
66});
67
68(0, _ava2.default)('should ignore npm semver commits with chore', function (t) {
69 VERSION_MESSAGES.forEach(function (message) {
70 return t.true((0, _2.default)(`chore: ${message}`));
71 });
72 VERSION_MESSAGES.forEach(function (message) {
73 return t.true((0, _2.default)(`chore(release): ${message}`));
74 });
75});
76
77(0, _ava2.default)('should ignore npm semver commits with footers', function (t) {
78 AMENDED_VERSION_MESSAGES.forEach(function (message) {
79 return t.true((0, _2.default)(message));
80 });
81});
82
83(0, _ava2.default)('should return true fixup commits', function (t) {
84 t.true((0, _2.default)('fixup! initial commit'));
85});
86
87(0, _ava2.default)('should return true squash commits', function (t) {
88 t.true((0, _2.default)('squash! initial commit'));
89});
90//# sourceMappingURL=index.test.js.map
\No newline at end of file