mirror of
https://github.com/rlespinasse/github-slug-action.git
synced 2026-06-30 18:01:37 +00:00
feat: add _CS suffix to keep value case-sensitive
This commit is contained in:
committed by
Romain Lespinasse
parent
38c43d3f60
commit
6c93fcbf53
@@ -1,36 +1,48 @@
|
||||
import {slug} from '../src/slug'
|
||||
import {slug, slug_cs} from '../src/slug'
|
||||
|
||||
function test_slug(input: string, expected: string) {
|
||||
let actual = slug(input)
|
||||
expect(actual).toEqual(expected)
|
||||
}
|
||||
|
||||
function test_slug_cs(input: string, expected: string) {
|
||||
let actual = slug_cs(input)
|
||||
expect(actual).toEqual(expected)
|
||||
}
|
||||
|
||||
test('slug: a word', () => {
|
||||
test_slug('word', 'word')
|
||||
test_slug_cs('word', 'word')
|
||||
})
|
||||
|
||||
test('slug: a string', () => {
|
||||
test_slug('basic-string', 'basic-string')
|
||||
test_slug_cs('basic-string', 'basic-string')
|
||||
})
|
||||
|
||||
test('slug: a string in camel case', () => {
|
||||
test_slug('camelCase', 'camelcase')
|
||||
test_slug_cs('camelCase', 'camelCase')
|
||||
})
|
||||
|
||||
test('slug: a path', () => {
|
||||
test_slug('path/to/something', 'path-to-something')
|
||||
test_slug_cs('path/to/something', 'path-to-something')
|
||||
})
|
||||
|
||||
test('slug: a number', () => {
|
||||
test_slug('4.2', '4.2')
|
||||
test_slug_cs('4.2', '4.2')
|
||||
})
|
||||
|
||||
test('slug: special caracter', () => {
|
||||
test_slug('feat-(!è§-caracter', 'feat------caracter')
|
||||
test('slug: special character', () => {
|
||||
test_slug('feat-(!è§-character', 'feat------character')
|
||||
test_slug_cs('feat-(!è§-character', 'feat------character')
|
||||
})
|
||||
|
||||
test('slug: trailing', () => {
|
||||
test_slug('-feat-trailing-', 'feat-trailing')
|
||||
test_slug_cs('-feat-trailing-', 'feat-trailing')
|
||||
})
|
||||
|
||||
test('slug: a very long string', () => {
|
||||
@@ -38,6 +50,10 @@ test('slug: a very long string', () => {
|
||||
'an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-moreThan63Characters',
|
||||
'an-awesome-feature-very-very-very-very-very-very-very-long-more'
|
||||
)
|
||||
test_slug_cs(
|
||||
'an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-moreThan63Characters',
|
||||
'an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-more'
|
||||
)
|
||||
})
|
||||
|
||||
test('slug: short string after trailing', () => {
|
||||
@@ -45,4 +61,8 @@ test('slug: short string after trailing', () => {
|
||||
'-an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-moreThan63Characters-',
|
||||
'an-awesome-feature-very-very-very-very-very-very-very-long-more'
|
||||
)
|
||||
test_slug_cs(
|
||||
'-an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-moreThan63Characters-',
|
||||
'an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-more'
|
||||
)
|
||||
})
|
||||
|
||||
@@ -1,49 +1,67 @@
|
||||
import {slugref} from '../src/slug'
|
||||
import {slugref, slugref_cs} from '../src/slug'
|
||||
|
||||
function test_slug_ref(input: string, expected: string) {
|
||||
function test_slugref(input: string, expected: string) {
|
||||
let actual = slugref(input)
|
||||
expect(actual).toEqual(expected)
|
||||
}
|
||||
|
||||
function test_slugref_cs(input: string, expected: string) {
|
||||
let actual = slugref_cs(input)
|
||||
expect(actual).toEqual(expected)
|
||||
}
|
||||
|
||||
test('slug_ref:: master branch', () => {
|
||||
test_slug_ref('refs/heads/master', 'master')
|
||||
test_slugref('refs/heads/master', 'master')
|
||||
test_slugref_cs('refs/heads/master', 'master')
|
||||
})
|
||||
|
||||
test('slug_ref: a feature branch', () => {
|
||||
test_slug_ref('refs/heads/feat/new_feature', 'feat-new-feature')
|
||||
test_slugref('refs/heads/feat/new_feature', 'feat-new-feature')
|
||||
test_slugref_cs('refs/heads/feat/new_feature', 'feat-new-feature')
|
||||
})
|
||||
|
||||
test('slug_ref: a fix branch', () => {
|
||||
test_slug_ref('refs/heads/fix/issue_number', 'fix-issue-number')
|
||||
test_slugref('refs/heads/fix/issue_number', 'fix-issue-number')
|
||||
test_slugref_cs('refs/heads/fix/issue_number', 'fix-issue-number')
|
||||
})
|
||||
|
||||
test('slug_ref: a simple tag', () => {
|
||||
test_slug_ref('refs/tags/v1.0.0', 'v1.0.0')
|
||||
test_slugref('refs/tags/v1.0.0', 'v1.0.0')
|
||||
test_slugref_cs('refs/tags/v1.0.0', 'v1.0.0')
|
||||
})
|
||||
|
||||
test('slug_ref: a complex tag', () => {
|
||||
test_slug_ref('refs/tags/product@1.0.0-rc.2', 'product-1.0.0-rc.2')
|
||||
test_slugref('refs/tags/product@1.0.0-rc.2', 'product-1.0.0-rc.2')
|
||||
test_slugref_cs('refs/tags/product@1.0.0-rc.2', 'product-1.0.0-rc.2')
|
||||
})
|
||||
|
||||
test('slug_ref: a reference with upper case letters', () => {
|
||||
test_slug_ref('refs/heads/New_Awesome_Product', 'new-awesome-product')
|
||||
test_slugref('refs/heads/New_Awesome_Product', 'new-awesome-product')
|
||||
test_slugref_cs('refs/heads/New_Awesome_Product', 'New-Awesome-Product')
|
||||
})
|
||||
|
||||
test('slug_ref: test trailing', () => {
|
||||
test_slug_ref('refs/heads/-trailing-feat-', 'trailing-feat')
|
||||
test_slugref('refs/heads/-trailing-feat-', 'trailing-feat')
|
||||
test_slugref_cs('refs/heads/-trailing-feat-', 'trailing-feat')
|
||||
})
|
||||
|
||||
test('slug_ref: test refs inside string', () => {
|
||||
test_slug_ref('refs/heads/-refs/tags/feature/-', 'refs-tags-feature')
|
||||
test_slugref('refs/heads/-refs/tags/feature/-', 'refs-tags-feature')
|
||||
test_slugref_cs('refs/heads/-refs/tags/feature/-', 'refs-tags-feature')
|
||||
})
|
||||
|
||||
test('slug_ref: a very long name', () => {
|
||||
test_slug_ref(
|
||||
test_slugref(
|
||||
'refs/heads/an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-moreThan63Characters',
|
||||
'an-awesome-feature-very-very-very-very-very-very-very-long-more'
|
||||
)
|
||||
test_slugref_cs(
|
||||
'refs/heads/an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-moreThan63Characters',
|
||||
'an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-more'
|
||||
)
|
||||
})
|
||||
|
||||
test('slug_ref: on pull-request ref', () => {
|
||||
test_slug_ref('refs/pull/branch', 'branch')
|
||||
test_slugref('refs/pull/branch', 'branch')
|
||||
test_slugref_cs('refs/pull/branch', 'branch')
|
||||
})
|
||||
|
||||
@@ -1,37 +1,52 @@
|
||||
import {slugurl} from '../src/slug'
|
||||
import {slugurl, slugurl_cs} from '../src/slug'
|
||||
|
||||
function test_slug_url(input: string, expected: string) {
|
||||
function test_slugurl(input: string, expected: string) {
|
||||
let actual = slugurl(input)
|
||||
expect(actual).toEqual(expected)
|
||||
}
|
||||
|
||||
function test_slugurl_cs(input: string, expected: string) {
|
||||
let actual = slugurl_cs(input)
|
||||
expect(actual).toEqual(expected)
|
||||
}
|
||||
|
||||
test('slug_url: a word', () => {
|
||||
test_slug_url('word', 'word')
|
||||
test_slugurl('word', 'word')
|
||||
test_slugurl_cs('word', 'word')
|
||||
})
|
||||
|
||||
test('slug_url: a string', () => {
|
||||
test_slug_url('basic-string', 'basic-string')
|
||||
test_slugurl('basic-string', 'basic-string')
|
||||
test_slugurl_cs('basic-string', 'basic-string')
|
||||
})
|
||||
|
||||
test('slug_url: a string in camel case', () => {
|
||||
test_slug_url('camelCase', 'camelcase')
|
||||
test_slugurl('camelCase', 'camelcase')
|
||||
test_slugurl_cs('camelCase', 'camelCase')
|
||||
})
|
||||
|
||||
test('slug_url: a path', () => {
|
||||
test_slug_url('path/to/something', 'path-to-something')
|
||||
test_slugurl('path/to/something', 'path-to-something')
|
||||
test_slugurl_cs('path/to/something', 'path-to-something')
|
||||
})
|
||||
|
||||
test('slug_url: a number', () => {
|
||||
test_slug_url('4.2', '4-2')
|
||||
test_slugurl('4.2', '4-2')
|
||||
test_slugurl_cs('4.2', '4-2')
|
||||
})
|
||||
|
||||
test('slug_url: trailing', () => {
|
||||
test_slug_url('.path.to.', 'path-to')
|
||||
test_slugurl('.path.to.', 'path-to')
|
||||
test_slugurl_cs('.path.to.', 'path-to')
|
||||
})
|
||||
|
||||
test('slug_url: a very long string', () => {
|
||||
test_slug_url(
|
||||
test_slugurl(
|
||||
'an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-moreThan63Characters',
|
||||
'an-awesome-feature-very-very-very-very-very-very-very-long-more'
|
||||
)
|
||||
test_slugurl_cs(
|
||||
'an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-moreThan63Characters',
|
||||
'an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-more'
|
||||
)
|
||||
})
|
||||
|
||||
@@ -1,49 +1,67 @@
|
||||
import {slugurlref} from '../src/slug'
|
||||
import {slugurlref, slugurlref_cs} from '../src/slug'
|
||||
|
||||
function test_slug_url_ref(input: string, expected: string) {
|
||||
function test_slugurlref(input: string, expected: string) {
|
||||
let actual = slugurlref(input)
|
||||
expect(actual).toEqual(expected)
|
||||
}
|
||||
|
||||
function test_slugurlref_cs(input: string, expected: string) {
|
||||
let actual = slugurlref_cs(input)
|
||||
expect(actual).toEqual(expected)
|
||||
}
|
||||
|
||||
test('slug_url_ref: master branch', () => {
|
||||
test_slug_url_ref('refs/heads/master', 'master')
|
||||
test_slugurlref('refs/heads/master', 'master')
|
||||
test_slugurlref_cs('refs/heads/master', 'master')
|
||||
})
|
||||
|
||||
test('slug_url_ref: a feature branch', () => {
|
||||
test_slug_url_ref('refs/heads/feat/new_feature', 'feat-new-feature')
|
||||
test_slugurlref('refs/heads/feat/new_feature', 'feat-new-feature')
|
||||
test_slugurlref_cs('refs/heads/feat/new_feature', 'feat-new-feature')
|
||||
})
|
||||
|
||||
test('slug_url_ref: a fix branch', () => {
|
||||
test_slug_url_ref('refs/heads/fix/issue_number', 'fix-issue-number')
|
||||
test_slugurlref('refs/heads/fix/issue_number', 'fix-issue-number')
|
||||
test_slugurlref_cs('refs/heads/fix/issue_number', 'fix-issue-number')
|
||||
})
|
||||
|
||||
test('slug_url_ref: a simple tag', () => {
|
||||
test_slug_url_ref('refs/tags/v1.0.0', 'v1-0-0')
|
||||
test_slugurlref('refs/tags/v1.0.0', 'v1-0-0')
|
||||
test_slugurlref_cs('refs/tags/v1.0.0', 'v1-0-0')
|
||||
})
|
||||
|
||||
test('slug_url_ref: a complex tag', () => {
|
||||
test_slug_url_ref('refs/tags/product@1.0.0-rc.2', 'product-1-0-0-rc-2')
|
||||
test_slugurlref('refs/tags/product@1.0.0-rc.2', 'product-1-0-0-rc-2')
|
||||
test_slugurlref_cs('refs/tags/product@1.0.0-rc.2', 'product-1-0-0-rc-2')
|
||||
})
|
||||
|
||||
test('slug_url_ref: a reference with upper case letters', () => {
|
||||
test_slug_url_ref('refs/heads/New_Awesome_Product', 'new-awesome-product')
|
||||
test_slugurlref('refs/heads/New_Awesome_Product', 'new-awesome-product')
|
||||
test_slugurlref_cs('refs/heads/New_Awesome_Product', 'New-Awesome-Product')
|
||||
})
|
||||
|
||||
test('slug_url_ref: a very long name', () => {
|
||||
test_slug_url_ref(
|
||||
test_slugurlref(
|
||||
'refs/heads/an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-moreThan63Characters',
|
||||
'an-awesome-feature-very-very-very-very-very-very-very-long-more'
|
||||
)
|
||||
test_slugurlref_cs(
|
||||
'refs/heads/an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-moreThan63Characters',
|
||||
'an-awesome-Feature-Very-Very-Very-Very-Very-Very-Very-Long-more'
|
||||
)
|
||||
})
|
||||
|
||||
test('slug_url_ref: test trailing', () => {
|
||||
test_slug_url_ref('refs/heads/-an-awesome-Feature-', 'an-awesome-feature')
|
||||
test_slugurlref('refs/heads/-an-awesome-Feature-', 'an-awesome-feature')
|
||||
test_slugurlref_cs('refs/heads/-an-awesome-Feature-', 'an-awesome-Feature')
|
||||
})
|
||||
|
||||
test('slug_url_ref: test trailing with dot', () => {
|
||||
test_slug_url_ref('refs/heads/.an-awesome-Feature.', 'an-awesome-feature')
|
||||
test_slugurlref('refs/heads/.an-awesome-Feature.', 'an-awesome-feature')
|
||||
test_slugurlref_cs('refs/heads/.an-awesome-Feature.', 'an-awesome-Feature')
|
||||
})
|
||||
|
||||
test('slug_url_ref: on pull-request ref', () => {
|
||||
test_slug_url_ref('refs/pull/branch', 'branch')
|
||||
test_slugurlref('refs/pull/branch', 'branch')
|
||||
test_slugurlref_cs('refs/pull/branch', 'branch')
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user