1 | 'use strict';
|
2 |
|
3 | var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
|
4 |
|
5 | var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
|
6 |
|
7 | var _ava = require('ava');
|
8 |
|
9 | var _ava2 = _interopRequireDefault(_ava);
|
10 |
|
11 | var _ = require('.');
|
12 |
|
13 | var _2 = _interopRequireDefault(_);
|
14 |
|
15 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
16 |
|
17 | var 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 |
|
19 | var AMENDMENTS = ['Signed-off-by: Developer <example@example.com>', 'Change-Id: I895114872a515a269487a683124b63303818e19c', 'Signed-off-by: Developer <example@example.com>\nChange-Id: I895114872a515a269487a683124b63303818e19c'];
|
20 |
|
21 | var 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 |
|
\ | No newline at end of file |