refactor(ivy): Implement computeStaticStyling (#34418)

The `computeStaticStyling` will be used for computing static styling value during `firstCreatePass`.

The function takes into account static styling from the template as well as from the host bindings. The host bindings need to be merged in front of the template so that they have the correct priority.

PR Closes #34418
This commit is contained in:
Misko Hevery
2019-12-15 21:09:02 -08:00
committed by Miško Hevery
parent 54af220107
commit b7ff38b1ef
13 changed files with 179 additions and 38 deletions

View File

@ -0,0 +1,27 @@
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
import {concatStringsWithSpace} from '@angular/core/src/util/stringify';
describe('stringify', () => {
describe('concatStringsWithSpace', () => {
it('should concat with null', () => {
expect(concatStringsWithSpace(null, null)).toEqual('');
expect(concatStringsWithSpace('a', null)).toEqual('a');
expect(concatStringsWithSpace(null, 'b')).toEqual('b');
});
it('should concat when empty', () => {
expect(concatStringsWithSpace('', '')).toEqual('');
expect(concatStringsWithSpace('a', '')).toEqual('a');
expect(concatStringsWithSpace('', 'b')).toEqual('b');
});
it('should concat when not empty',
() => { expect(concatStringsWithSpace('before', 'after')).toEqual('before after'); });
});
});