summaryrefslogtreecommitdiff
path: root/source/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'source/helpers')
-rw-r--r--source/helpers/pr-commit-cleaner.test.ts13
-rw-r--r--source/helpers/pr-commit-cleaner.ts6
2 files changed, 19 insertions, 0 deletions
diff --git a/source/helpers/pr-commit-cleaner.test.ts b/source/helpers/pr-commit-cleaner.test.ts
new file mode 100644
index 00000000..f7771ddf
--- /dev/null
+++ b/source/helpers/pr-commit-cleaner.test.ts
@@ -0,0 +1,13 @@
+import {test, assert} from 'vitest';
+
+import cleanPrCommitTitle from './pr-commit-cleaner';
+
+test('cleanPrCommitTitle', () => {
+ const clean = 'Something done';
+ assert.equal(cleanPrCommitTitle('Something done (#123)', 123), clean);
+ assert.equal(cleanPrCommitTitle(' Something done (#123) ', 123), clean);
+ assert.equal(cleanPrCommitTitle(' Something done ', 123), clean);
+
+ assert.notEqual(cleanPrCommitTitle('Something done (fixes #123)', 123), clean);
+ assert.notEqual(cleanPrCommitTitle('Something done (#23454)', 123), clean);
+});
diff --git a/source/helpers/pr-commit-cleaner.ts b/source/helpers/pr-commit-cleaner.ts
new file mode 100644
index 00000000..52cd7f2b
--- /dev/null
+++ b/source/helpers/pr-commit-cleaner.ts
@@ -0,0 +1,6 @@
+/**
+@example 'Something done (#123)' => 'Something done'
+*/
+export default function cleanPrCommitTitle(commitTitle: string, pr: number): string {
+ return commitTitle.replace(new RegExp(`\\(#${pr}\\)\\s*$`), '').trim();
+}