mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-18 15:33:04 +00:00

The following cases are covered: - ThemedComponent wrapper selectors must not start with ds-themed- - Base component selectors must start with ds-base- - Themed component selectors must start with ds-themed- - The ThemedComponent wrapper must always be used in HTML - The ThemedComponent wrapper must be used in TypeScript _where appropriate_: - Required - Explicit usages (e.g. modal instantiation, routing modules, ...) - By.css selector queries (in order to align with the HTML rule) - Unchecked - Non-routing modules (to ensure the components can be declared) - ViewChild hooks (since they need to attach to the underlying component) All rules work with --fix to automatically migrate to the new convention This covers most of the codebase, but minor manual adjustment are needed afterwards
25 lines
1017 B
TypeScript
25 lines
1017 B
TypeScript
/**
|
|
* The contents of this file are subject to the license and copyright
|
|
* detailed in the LICENSE and NOTICE files at the root of the source
|
|
* tree and available online at
|
|
*
|
|
* http://www.dspace.org/license/
|
|
*/
|
|
|
|
import { themeableComponents } from '../../src/util/theme-support';
|
|
|
|
describe('theme-support', () => {
|
|
describe('themeable component registry', () => {
|
|
it('should contain all themeable components from the fixture', () => {
|
|
expect(themeableComponents.entries.size).toBe(1);
|
|
expect(themeableComponents.byBasePath.size).toBe(1);
|
|
expect(themeableComponents.byWrapperPath.size).toBe(1);
|
|
expect(themeableComponents.byBaseClass.size).toBe(1);
|
|
|
|
expect(themeableComponents.byBaseClass.get('TestThemeableComponent')).toBeTruthy();
|
|
expect(themeableComponents.byBasePath.get('src/app/test/test-themeable.component.ts')).toBeTruthy();
|
|
expect(themeableComponents.byWrapperPath.get('src/app/test/themed-test-themeable.component.ts')).toBeTruthy();
|
|
});
|
|
});
|
|
});
|