fix(ivy): use container i18n meta if a message is a single ICU (#33191)
Prior to this commit, metadata defined on ICU container element was not inherited by the ICU if the whole message is a single ICU (for example: `<ng-container i18n="meaning|description@@id">{count, select, ...}</ng-container>). This commit updates the logic to use parent container i18n meta information for the cases when a message consists of a single ICU. Fixes #33171 PR Close #33191
This commit is contained in:

committed by
Matias Niemelä

parent
1a8bd22fa3
commit
7e64bbe5a8
@ -1031,6 +1031,26 @@ onlyInIvy('Ivy i18n logic').describe('runtime i18n', () => {
|
||||
expect(fixture.debugElement.nativeElement.innerHTML).toContain('A');
|
||||
expect(fixture.debugElement.nativeElement.innerHTML).toContain('B');
|
||||
});
|
||||
|
||||
it('should use metadata from container element if a message is a single ICU', () => {
|
||||
loadTranslations({idA: '{VAR_SELECT, select, 1 {un} other {plus d\'un}}'});
|
||||
|
||||
@Component({
|
||||
selector: 'app',
|
||||
template: `
|
||||
<div i18n="@@idA">{count, select, 1 {one} other {more than one}}</div>
|
||||
`
|
||||
})
|
||||
class AppComponent {
|
||||
count = 2;
|
||||
}
|
||||
|
||||
TestBed.configureTestingModule({declarations: [AppComponent]});
|
||||
|
||||
const fixture = TestBed.createComponent(AppComponent);
|
||||
fixture.detectChanges();
|
||||
expect(fixture.debugElement.nativeElement.innerHTML).toContain('plus d\'un');
|
||||
});
|
||||
});
|
||||
|
||||
describe('should support attributes', () => {
|
||||
|
Reference in New Issue
Block a user