diff --git a/.changeset/dull-donkeys-taste.md b/.changeset/dull-donkeys-taste.md new file mode 100644 index 00000000..4a224fee --- /dev/null +++ b/.changeset/dull-donkeys-taste.md @@ -0,0 +1,5 @@ +--- +"@codemod-utils/ember": major +--- + +Narrowed usage to entity names, in order to remove dependency on ember-cli-string-utils diff --git a/packages/ember/README.md b/packages/ember/README.md index 54997f94..b427cb35 100644 --- a/packages/ember/README.md +++ b/packages/ember/README.md @@ -12,47 +12,42 @@ _Utilities for Ember_ ## API -The methods are built with the **entity name** in mind, a string (possibly with hyphens and forward slashes) that represents a set of related files in Ember. - -(For example, the `` component has the entity name `'ui/button'`. In the Ember source code, you may see variable names like `entityName` or `moduleName`.) - - ### camelize -Returns a string in camel-case. +Converts an entity name to camel case. Used for naming the function that is associated with the entity. ```ts import { camelize } from '@codemod-utils/ember'; -const newValue = camelize('css-class-name'); +const newValue = camelize('ui/form/generate-error-message'); -// 'cssClassName' +// 'uiFormGenerateErrorMessage' ``` -### classify +### doubleColonize -Returns a string that can be used to name a JavaScript `class` (a.k.a. Pascal case). +Converts an entity name to double colon (`::`) case. Used for writing the angle bracket syntax or the signature for a component. ```ts -import { classify } from '@codemod-utils/ember'; +import { doubleColonize } from '@codemod-utils/ember'; -const newValue = classify('ui/button'); +const newValue = doubleColonize('ui/form/input'); -// 'UiButton' +// 'Ui::Form::Input' ``` -### doubleColonize +### pascalize -Returns a string associated with the angle bracket syntax for components. +Converts an entity name to Pascal case. Used for naming the class that is associated with the entity. ```ts -import { doubleColonize } from '@codemod-utils/ember'; +import { pascalize } from '@codemod-utils/ember'; -const newValue = doubleColonize('ui/button'); +const newValue = pascalize('ui/form/input'); -// 'Ui::Button' +// 'UiFormInput' ``` diff --git a/packages/ember/src/ember/entity-name/camelize.ts b/packages/ember/src/ember/entity-name/camelize.ts new file mode 100644 index 00000000..8298f814 --- /dev/null +++ b/packages/ember/src/ember/entity-name/camelize.ts @@ -0,0 +1,28 @@ +import { pascalize } from './pascalize.js'; + +/** + * Converts an entity name to camel case. Used for naming the + * function that is associated with the entity. + * + * @param entityName + * + * The name of an entity (made up of lowercase letters, hyphen, + * and forward slash). + * + * @return + * + * The name in camel case. + * + * @example + * + * ```ts + * const newValue = camelize('ui/form/generate-error-message'); + * + * // 'uiFormGenerateErrorMessage' + * ``` + */ +export function camelize(entityName: string): string { + const pascalizedName = pascalize(entityName); + + return pascalizedName.charAt(0).toLowerCase() + pascalizedName.substring(1); +} diff --git a/packages/ember/src/ember/entity-name/double-colonize.ts b/packages/ember/src/ember/entity-name/double-colonize.ts new file mode 100644 index 00000000..db02d463 --- /dev/null +++ b/packages/ember/src/ember/entity-name/double-colonize.ts @@ -0,0 +1,33 @@ +function pascalize(value: string): string { + return value + .split('-') + .map((token) => { + return token.charAt(0).toUpperCase() + token.substring(1).toLowerCase(); + }) + .join(''); +} + +/** + * Converts an entity name to double colon (`::`) case. Used for + * writing the angle bracket syntax or the signature for a component. + * + * @param entityName + * + * The name of an entity (made up of lowercase letters, hyphen, + * and forward slash). + * + * @return + * + * The name in double colon case. + * + * @example + * + * ```ts + * const newValue = doubleColonize('ui/form/input'); + * + * // 'Ui::Form::Input' + * ``` + */ +export function doubleColonize(entityName: string): string { + return entityName.split('/').map(pascalize).join('::'); +} diff --git a/packages/ember/src/ember/entity-name/pascalize.ts b/packages/ember/src/ember/entity-name/pascalize.ts new file mode 100644 index 00000000..3f9c1adb --- /dev/null +++ b/packages/ember/src/ember/entity-name/pascalize.ts @@ -0,0 +1,28 @@ +import { doubleColonize } from './double-colonize.js'; + +/** + * Converts an entity name to Pascal case. Used for naming the + * class that is associated with the entity. + * + * @param entityName + * + * The name of an entity (made up of lowercase letters, hyphen, + * and forward slash). + * + * @return + * + * The name in Pascal case. + * + * @example + * + * ```ts + * const newValue = pascalize('ui/form/input'); + * + * // 'UiFormInput' + * ``` + */ +export function pascalize(entityName: string): string { + const doubleColonizedName = doubleColonize(entityName); + + return doubleColonizedName.replaceAll('::', ''); +} diff --git a/packages/ember/src/entity-name/camelize.ts b/packages/ember/src/entity-name/camelize.ts deleted file mode 100644 index d446d592..00000000 --- a/packages/ember/src/entity-name/camelize.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* https://github.com/ember-cli/ember-cli-string-utils/blob/v1.1.0/index.js */ -const STRING_CAMELIZE_REGEXP = /(-|_|\.|\s)+(.)?/g; - -/** - * Returns a string in camel-case. - * - * @param value - * - * A string. - * - * @return - * - * The string in camel case. - * - * @example - * - * ```ts - * const newValue = camelize('css-class-name'); - * - * // 'cssClassName' - * ``` - */ -export function camelize(value: string): string { - return value - .replace( - STRING_CAMELIZE_REGEXP, - function (_match, _separator, character: string) { - return character ? character.toUpperCase() : ''; - }, - ) - .replace(/^([A-Z])/, function (match) { - return match.toLowerCase(); - }); -} diff --git a/packages/ember/src/entity-name/classify.ts b/packages/ember/src/entity-name/classify.ts deleted file mode 100644 index 360c1e65..00000000 --- a/packages/ember/src/entity-name/classify.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* https://github.com/ember-cli/ember-cli-string-utils/blob/v1.1.0/index.js */ -/* https://github.com/emberjs/ember.js/blob/v5.3.0/blueprints/component/index.js#L255-L256 */ -import { camelize } from './camelize.js'; - -/** - * Returns a string that can be used to name a JavaScript `class` - * (a.k.a. Pascal case). - * - * @param value - * - * A string (an entity name). - * - * @return - * - * The string in Pascal case. - * - * @example - * - * ```ts - * const newValue = classify('ui/button'); - * - * // 'UiButton' - * ``` - */ -export function classify(value: string): string { - const tokens = value.replace(/\//g, '-').split('.'); - - const tokensTransformed = tokens.map((token) => { - const camelized = camelize(token); - - return camelized.charAt(0).toUpperCase() + camelized.substring(1); - }); - - return tokensTransformed.join('.'); -} diff --git a/packages/ember/src/entity-name/double-colonize.ts b/packages/ember/src/entity-name/double-colonize.ts deleted file mode 100644 index 8eca5650..00000000 --- a/packages/ember/src/entity-name/double-colonize.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* https://github.com/emberjs/ember.js/blob/v5.3.0/blueprints/component-test/index.js#L13-L16 */ -import { classify } from './classify.js'; - -/** - * Returns a string associated with the angle bracket syntax - * for components. - * - * @param value - * - * A string (an entity name). - * - * @return - * - * The string with double colon(s) (`::`). - * - * @example - * - * ```ts - * const newValue = doubleColonize('ui/button'); - * - * // 'Ui::Button' - * ``` - */ -export function doubleColonize(value: string): string { - const tokens = value.split('/'); - - const tokensTransformed = tokens.map(classify); - - return tokensTransformed.join('::'); -} diff --git a/packages/ember/src/index.ts b/packages/ember/src/index.ts index 9f45a3ad..51741f77 100644 --- a/packages/ember/src/index.ts +++ b/packages/ember/src/index.ts @@ -1,3 +1,3 @@ -export * from './entity-name/camelize.js'; -export * from './entity-name/classify.js'; -export * from './entity-name/double-colonize.js'; +export * from './ember/entity-name/camelize.js'; +export * from './ember/entity-name/double-colonize.js'; +export * from './ember/entity-name/pascalize.js'; diff --git a/packages/ember/tests/ember/entity-name/camelize/base-case.test.ts b/packages/ember/tests/ember/entity-name/camelize/base-case.test.ts new file mode 100644 index 00000000..1eaf9f23 --- /dev/null +++ b/packages/ember/tests/ember/entity-name/camelize/base-case.test.ts @@ -0,0 +1,11 @@ +import { assert, test } from '@codemod-utils/tests'; + +import { camelize } from '../../../../src/index.js'; + +test('utils | ember | entity-name | camelize > base case', function () { + assert.strictEqual(camelize('hello'), 'hello'); + + assert.strictEqual(camelize('hello-world'), 'helloWorld'); + + assert.strictEqual(camelize('hello-world-123'), 'helloWorld123'); +}); diff --git a/packages/ember/tests/ember/entity-name/camelize/nested.test.ts b/packages/ember/tests/ember/entity-name/camelize/nested.test.ts new file mode 100644 index 00000000..0b14a020 --- /dev/null +++ b/packages/ember/tests/ember/entity-name/camelize/nested.test.ts @@ -0,0 +1,16 @@ +import { assert, test } from '@codemod-utils/tests'; + +import { camelize } from '../../../../src/index.js'; + +test('utils | ember | entity-name | camelize > nested', function () { + assert.strictEqual(camelize('ui/form'), 'uiForm'); + + assert.strictEqual(camelize('ui/form/input'), 'uiFormInput'); + + assert.strictEqual(camelize('ui/form/submit-button'), 'uiFormSubmitButton'); + + assert.strictEqual( + camelize('widgets/widget-3/tour-schedule/responsive-image'), + 'widgetsWidget3TourScheduleResponsiveImage', + ); +}); diff --git a/packages/ember/tests/ember/entity-name/camelize/wrong-input.test.ts b/packages/ember/tests/ember/entity-name/camelize/wrong-input.test.ts new file mode 100644 index 00000000..0824d08b --- /dev/null +++ b/packages/ember/tests/ember/entity-name/camelize/wrong-input.test.ts @@ -0,0 +1,21 @@ +import { assert, test } from '@codemod-utils/tests'; + +import { camelize } from '../../../../src/index.js'; + +test('utils | ember | entity-name | camelize > wrong input', function () { + assert.strictEqual(camelize(''), ''); + + assert.strictEqual(camelize('-'), ''); + + assert.strictEqual(camelize('/'), ''); + + assert.strictEqual(camelize('ui/'), 'ui'); + + assert.strictEqual(camelize('/ui'), 'ui'); + + assert.strictEqual(camelize('ui.form.input'), 'ui.form.input'); + + assert.strictEqual(camelize('ui_form_input'), 'ui_form_input'); + + assert.strictEqual(camelize('ui form input'), 'ui form input'); +}); diff --git a/packages/ember/tests/ember/entity-name/double-colonize/base-case.test.ts b/packages/ember/tests/ember/entity-name/double-colonize/base-case.test.ts new file mode 100644 index 00000000..1dc4a105 --- /dev/null +++ b/packages/ember/tests/ember/entity-name/double-colonize/base-case.test.ts @@ -0,0 +1,11 @@ +import { assert, test } from '@codemod-utils/tests'; + +import { doubleColonize } from '../../../../src/index.js'; + +test('utils | ember | entity-name | double-colonize > base case', function () { + assert.strictEqual(doubleColonize('hello'), 'Hello'); + + assert.strictEqual(doubleColonize('hello-world'), 'HelloWorld'); + + assert.strictEqual(doubleColonize('hello-world-123'), 'HelloWorld123'); +}); diff --git a/packages/ember/tests/ember/entity-name/double-colonize/edge-case-empty-string.test.ts b/packages/ember/tests/ember/entity-name/double-colonize/edge-case-empty-string.test.ts new file mode 100644 index 00000000..32ee59d8 --- /dev/null +++ b/packages/ember/tests/ember/entity-name/double-colonize/edge-case-empty-string.test.ts @@ -0,0 +1,16 @@ +import { assert, test } from '@codemod-utils/tests'; + +import { doubleColonize } from '../../../../src/index.js'; + +test('utils | ember | entity-name | double-colonize > nested', function () { + assert.strictEqual(doubleColonize('ui/form'), 'Ui::Form'); + assert.strictEqual(doubleColonize('ui/form/input'), 'Ui::Form::Input'); + assert.strictEqual( + doubleColonize('ui/form/submit-button'), + 'Ui::Form::SubmitButton', + ); + assert.strictEqual( + doubleColonize('widgets/widget-3/tour-schedule/responsive-image'), + 'Widgets::Widget3::TourSchedule::ResponsiveImage', + ); +}); diff --git a/packages/ember/tests/ember/entity-name/double-colonize/wrong-input.test.ts b/packages/ember/tests/ember/entity-name/double-colonize/wrong-input.test.ts new file mode 100644 index 00000000..1783c8ef --- /dev/null +++ b/packages/ember/tests/ember/entity-name/double-colonize/wrong-input.test.ts @@ -0,0 +1,21 @@ +import { assert, test } from '@codemod-utils/tests'; + +import { doubleColonize } from '../../../../src/index.js'; + +test('utils | ember | entity-name | double-colonize > wrong input', function () { + assert.strictEqual(doubleColonize(''), ''); + + assert.strictEqual(doubleColonize('-'), ''); + + assert.strictEqual(doubleColonize('/'), '::'); + + assert.strictEqual(doubleColonize('ui/'), 'Ui::'); + + assert.strictEqual(doubleColonize('/ui'), '::Ui'); + + assert.strictEqual(doubleColonize('ui.form.input'), 'Ui.form.input'); + + assert.strictEqual(doubleColonize('ui_form_input'), 'Ui_form_input'); + + assert.strictEqual(doubleColonize('ui form input'), 'Ui form input'); +}); diff --git a/packages/ember/tests/ember/entity-name/pascalize/base-case.test.ts b/packages/ember/tests/ember/entity-name/pascalize/base-case.test.ts new file mode 100644 index 00000000..64dc8cdf --- /dev/null +++ b/packages/ember/tests/ember/entity-name/pascalize/base-case.test.ts @@ -0,0 +1,11 @@ +import { assert, test } from '@codemod-utils/tests'; + +import { pascalize } from '../../../../src/index.js'; + +test('utils | ember | entity-name | pascalize > base case', function () { + assert.strictEqual(pascalize('hello'), 'Hello'); + + assert.strictEqual(pascalize('hello-world'), 'HelloWorld'); + + assert.strictEqual(pascalize('hello-world-123'), 'HelloWorld123'); +}); diff --git a/packages/ember/tests/ember/entity-name/pascalize/nested.test.ts b/packages/ember/tests/ember/entity-name/pascalize/nested.test.ts new file mode 100644 index 00000000..93951b60 --- /dev/null +++ b/packages/ember/tests/ember/entity-name/pascalize/nested.test.ts @@ -0,0 +1,16 @@ +import { assert, test } from '@codemod-utils/tests'; + +import { pascalize } from '../../../../src/index.js'; + +test('utils | ember | entity-name | pascalize > nested', function () { + assert.strictEqual(pascalize('ui/form'), 'UiForm'); + + assert.strictEqual(pascalize('ui/form/input'), 'UiFormInput'); + + assert.strictEqual(pascalize('ui/form/submit-button'), 'UiFormSubmitButton'); + + assert.strictEqual( + pascalize('widgets/widget-3/tour-schedule/responsive-image'), + 'WidgetsWidget3TourScheduleResponsiveImage', + ); +}); diff --git a/packages/ember/tests/ember/entity-name/pascalize/wrong-input.test.ts b/packages/ember/tests/ember/entity-name/pascalize/wrong-input.test.ts new file mode 100644 index 00000000..b831f2af --- /dev/null +++ b/packages/ember/tests/ember/entity-name/pascalize/wrong-input.test.ts @@ -0,0 +1,21 @@ +import { assert, test } from '@codemod-utils/tests'; + +import { pascalize } from '../../../../src/index.js'; + +test('utils | ember | entity-name | pascalize > wrong input', function () { + assert.strictEqual(pascalize(''), ''); + + assert.strictEqual(pascalize('-'), ''); + + assert.strictEqual(pascalize('/'), ''); + + assert.strictEqual(pascalize('ui/'), 'Ui'); + + assert.strictEqual(pascalize('/ui'), 'Ui'); + + assert.strictEqual(pascalize('ui.form.input'), 'Ui.form.input'); + + assert.strictEqual(pascalize('ui_form_input'), 'Ui_form_input'); + + assert.strictEqual(pascalize('ui form input'), 'Ui form input'); +}); diff --git a/packages/ember/tests/entity-name/camelize/base-case.test.ts b/packages/ember/tests/entity-name/camelize/base-case.test.ts deleted file mode 100644 index c9e44bfa..00000000 --- a/packages/ember/tests/entity-name/camelize/base-case.test.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { assert, test } from '@codemod-utils/tests'; - -import { camelize } from '../../../src/index.js'; - -test('entity-name | camelize > base case', function () { - assert.strictEqual(camelize('innerHTML'), 'innerHTML'); - assert.strictEqual(camelize('action_name'), 'actionName'); - assert.strictEqual(camelize('css-class-name'), 'cssClassName'); -}); diff --git a/packages/ember/tests/entity-name/camelize/edge-case-empty-string.test.ts b/packages/ember/tests/entity-name/camelize/edge-case-empty-string.test.ts deleted file mode 100644 index dbae3a8d..00000000 --- a/packages/ember/tests/entity-name/camelize/edge-case-empty-string.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { assert, test } from '@codemod-utils/tests'; - -import { camelize } from '../../../src/index.js'; - -test('entity-name | camelize > edge case (empty string)', function () { - assert.strictEqual(camelize(''), ''); -}); diff --git a/packages/ember/tests/entity-name/camelize/edge-case-entity-name.test.ts b/packages/ember/tests/entity-name/camelize/edge-case-entity-name.test.ts deleted file mode 100644 index ca359323..00000000 --- a/packages/ember/tests/entity-name/camelize/edge-case-entity-name.test.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { assert, test } from '@codemod-utils/tests'; - -import { camelize } from '../../../src/index.js'; - -test('entity-name | camelize > edge case (entity name)', function () { - assert.strictEqual(camelize('tracks'), 'tracks'); - assert.strictEqual(camelize('navigation-menu'), 'navigationMenu'); - assert.strictEqual(camelize('ui/page'), 'ui/page'); - assert.strictEqual( - camelize('widgets/widget-3/tour-schedule/responsive-image'), - 'widgets/widget3/tourSchedule/responsiveImage', - ); -}); diff --git a/packages/ember/tests/entity-name/camelize/edge-case-spaces.test.ts b/packages/ember/tests/entity-name/camelize/edge-case-spaces.test.ts deleted file mode 100644 index adc694a6..00000000 --- a/packages/ember/tests/entity-name/camelize/edge-case-spaces.test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { assert, test } from '@codemod-utils/tests'; - -import { camelize } from '../../../src/index.js'; - -test('entity-name | camelize > edge case (spaces)', function () { - assert.strictEqual(camelize('my favorite items'), 'myFavoriteItems'); - assert.strictEqual(camelize('My favorite items'), 'myFavoriteItems'); -}); diff --git a/packages/ember/tests/entity-name/classify/base-case.test.ts b/packages/ember/tests/entity-name/classify/base-case.test.ts deleted file mode 100644 index f97db6ee..00000000 --- a/packages/ember/tests/entity-name/classify/base-case.test.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { assert, test } from '@codemod-utils/tests'; - -import { classify } from '../../../src/index.js'; - -test('entity-name | classify > base case', function () { - assert.strictEqual(classify('innerHTML'), 'InnerHTML'); - assert.strictEqual(classify('action_name'), 'ActionName'); - assert.strictEqual(classify('css-class-name'), 'CssClassName'); -}); diff --git a/packages/ember/tests/entity-name/classify/edge-case-empty-string.test.ts b/packages/ember/tests/entity-name/classify/edge-case-empty-string.test.ts deleted file mode 100644 index f633b5d4..00000000 --- a/packages/ember/tests/entity-name/classify/edge-case-empty-string.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { assert, test } from '@codemod-utils/tests'; - -import { classify } from '../../../src/index.js'; - -test('entity-name | classify > edge case (empty string)', function () { - assert.strictEqual(classify(''), ''); -}); diff --git a/packages/ember/tests/entity-name/classify/edge-case-entity-name.test.ts b/packages/ember/tests/entity-name/classify/edge-case-entity-name.test.ts deleted file mode 100644 index dc6f372f..00000000 --- a/packages/ember/tests/entity-name/classify/edge-case-entity-name.test.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { assert, test } from '@codemod-utils/tests'; - -import { classify } from '../../../src/index.js'; - -test('entity-name | classify > edge case (entity name)', function () { - assert.strictEqual(classify('tracks'), 'Tracks'); - assert.strictEqual(classify('navigation-menu'), 'NavigationMenu'); - assert.strictEqual(classify('ui/page'), 'UiPage'); - assert.strictEqual( - classify('widgets/widget-3/tour-schedule/responsive-image'), - 'WidgetsWidget3TourScheduleResponsiveImage', - ); -}); diff --git a/packages/ember/tests/entity-name/classify/edge-case-periods.test.ts b/packages/ember/tests/entity-name/classify/edge-case-periods.test.ts deleted file mode 100644 index ef152a5d..00000000 --- a/packages/ember/tests/entity-name/classify/edge-case-periods.test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { assert, test } from '@codemod-utils/tests'; - -import { classify } from '../../../src/index.js'; - -test('entity-name | classify > edge case (periods)', function () { - assert.strictEqual(classify('aa.bb.cc'), 'Aa.Bb.Cc'); - assert.strictEqual(classify('aa.b/b.cc'), 'Aa.BB.Cc'); -}); diff --git a/packages/ember/tests/entity-name/classify/edge-case-spaces.test.ts b/packages/ember/tests/entity-name/classify/edge-case-spaces.test.ts deleted file mode 100644 index 5233b613..00000000 --- a/packages/ember/tests/entity-name/classify/edge-case-spaces.test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { assert, test } from '@codemod-utils/tests'; - -import { classify } from '../../../src/index.js'; - -test('entity-name | classify > edge case (spaces)', function () { - assert.strictEqual(classify('my favorite items'), 'MyFavoriteItems'); - assert.strictEqual(classify('My favorite items'), 'MyFavoriteItems'); -}); diff --git a/packages/ember/tests/entity-name/double-colonize/base-case.test.ts b/packages/ember/tests/entity-name/double-colonize/base-case.test.ts deleted file mode 100644 index d796da41..00000000 --- a/packages/ember/tests/entity-name/double-colonize/base-case.test.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { assert, test } from '@codemod-utils/tests'; - -import { doubleColonize } from '../../../src/index.js'; - -test('entity-name | double-colonize > base case', function () { - assert.strictEqual(doubleColonize('innerHTML'), 'InnerHTML'); - assert.strictEqual(doubleColonize('action_name'), 'ActionName'); - assert.strictEqual(doubleColonize('css-class-name'), 'CssClassName'); -}); diff --git a/packages/ember/tests/entity-name/double-colonize/edge-case-empty-string.test.ts b/packages/ember/tests/entity-name/double-colonize/edge-case-empty-string.test.ts deleted file mode 100644 index fa9ab4be..00000000 --- a/packages/ember/tests/entity-name/double-colonize/edge-case-empty-string.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { assert, test } from '@codemod-utils/tests'; - -import { doubleColonize } from '../../../src/index.js'; - -test('entity-name | double-colonize > edge case (empty string)', function () { - assert.strictEqual(doubleColonize(''), ''); -}); diff --git a/packages/ember/tests/entity-name/double-colonize/edge-case-entity-name.test.ts b/packages/ember/tests/entity-name/double-colonize/edge-case-entity-name.test.ts deleted file mode 100644 index 19f32137..00000000 --- a/packages/ember/tests/entity-name/double-colonize/edge-case-entity-name.test.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { assert, test } from '@codemod-utils/tests'; - -import { doubleColonize } from '../../../src/index.js'; - -test('entity-name | double-colonize > edge case (entity name)', function () { - assert.strictEqual(doubleColonize('tracks'), 'Tracks'); - assert.strictEqual(doubleColonize('navigation-menu'), 'NavigationMenu'); - assert.strictEqual(doubleColonize('ui/page'), 'Ui::Page'); - assert.strictEqual( - doubleColonize('widgets/widget-3/tour-schedule/responsive-image'), - 'Widgets::Widget3::TourSchedule::ResponsiveImage', - ); -});