import { expect } from 'chai';
import { Element } from '../../../types';

describe('Block', () => {
    describe('static parse', () => {
        it('简单标签', () => {
            const source = '<u-input size="normal" :checked="var1" v-model="var2" @change="onChange"></u-input>';
            const element = Element.parse(source);
            const result = element.toVue();
            console.info(result);
            expect(source).to.equal(result);
        });

        it('嵌套标签', () => {
            const source = `<u-linear-layout direction="vertical">
    <u-input size="normal" :checked="var1" v-model="var2" @change="onChange"></u-input>
</u-linear-layout>`;
            const element = Element.parse(source);
            const result = element.toVue();
            console.info(result);
            expect(source).to.equal(result);
        });

        it('去除 text 类型', () => {
            const source = `<u-linear-layout direction="vertical">这是一行文本</u-linear-layout>`;
            const element = Element.parse(source);
            const result = element.toVue();
            console.info(result);
            expect(result).to.equal(`<u-linear-layout direction="vertical">
    <u-text text="这是一行文本"></u-text>
</u-linear-layout>`);
        });

        it('create', () => {
            const source = '<u-input size="normal" :checked="var1" v-model="var2" @change="onChange"></u-input>';
            const element = Element.parse(source);
            element.assign({
                parentId: '5666dc63-0a99-4b96-840f-6387ecf08c0b',
            });
            element.create().catch((e) => {
                console.log(e);
            });
        });
    });
});
