Skip to content

Wrong promises handling in bemhtml #884

@apsavin

Description

@apsavin

How to reproduce:

  1. Create new project with project-stub and bem make
  2. Create desktop.bundles/index/index.node.js with the following content:
var Vow = require('../../libs/bem-core/common.blocks/vow/vow.vanilla.js'),
    BEMHTML = require('./index.bemhtml.js').BEMHTML;

var bemjson = {
    block: 'footer',
    content: 'footer content goes here'
};

console.log(BEMHTML.apply(bemjson));

bemjson = {
    block: 'footer',
    content: Vow.resolve('footer content goes here')
};

console.log(BEMHTML.apply(bemjson));

bemjson = {
    block: 'footer',
    content: Vow.resolve({
        block: 'footer',
        content: 'footer content goes here'
    })
};

console.log(BEMHTML.apply(bemjson));

bemjson = {
    block: 'footer',
    content: Vow.resolve({
        block: 'footer',
        content: Vow.resolve('footer content goes here')
    })
};

console.log(BEMHTML.apply(bemjson));
  1. Run node desktop.bundles/index/index.node.js

Actual result:

<div class="footer">footer content goes here</div>
<div class="footer">footer content goes here</div>
<div class="footer"><div class="footer">footer content goes here</div></div>
<div class="footer"><div class="footer"><div></div></div></div>

Expected result:

<div class="footer">footer content goes here</div>
<div class="footer">footer content goes here</div>
<div class="footer"><div class="footer">footer content goes here</div></div>
<div class="footer"><div class="footer">footer content goes here</div></div>

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions