mirror of https://github.com/artf/grapesjs.git
nocodeframeworkdrag-and-dropsite-buildersite-generatortemplate-builderui-builderweb-builderweb-builder-frameworkwebsite-builderno-codepage-builder
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.2 KiB
44 lines
1.2 KiB
import Trait from '../../../../src/trait_manager/model/Trait';
|
|
import Traits from '../../../../src/trait_manager/model/Traits';
|
|
import Component from '../../../../src/dom_components/model/Component';
|
|
import Editor from '../../../../src/editor';
|
|
import EditorModel from '../../../../src/editor/model/Editor';
|
|
|
|
describe('TraitModels', () => {
|
|
var trait: Trait;
|
|
var target: Component;
|
|
var modelName = 'title';
|
|
var em: EditorModel;
|
|
|
|
beforeEach(() => {
|
|
em = new Editor().getModel();
|
|
target = new Component({}, { em, config: em.Components.config });
|
|
trait = new Trait(
|
|
{
|
|
name: modelName,
|
|
target,
|
|
},
|
|
em
|
|
);
|
|
});
|
|
|
|
afterEach(() => {});
|
|
|
|
test('Object exists', () => {
|
|
expect(trait).toBeTruthy();
|
|
});
|
|
test('Traits undo property', () => {
|
|
em.loadOnStart();
|
|
const wrapper = em.Components.getWrapper();
|
|
wrapper!.append(target);
|
|
const traits = new Traits([], { em });
|
|
traits.add(modelName);
|
|
traits.setTarget(target);
|
|
const trait = traits.models[0];
|
|
trait.setTargetValue('TitleValue');
|
|
|
|
expect(target.getAttributes()[modelName]).toBe('TitleValue');
|
|
em.UndoManager.undo();
|
|
expect(target.getAttributes()[modelName]).toBeUndefined;
|
|
});
|
|
});
|
|
|