| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- import { Helper } from "../../../commons/helper";
- import { assert, expect, should } from "../viewerReference";
- import { mapperManager } from "..";
- import { IMapper } from "../../../../src/configuration/mappers";
- export let name = "configuration mappers";
- describe("Configuration mappers", () => {
- it("should have html, json and dom mappers", (done) => {
- assert.isDefined(mapperManager);
- assert.isDefined(mapperManager.getMapper("html"));
- assert.isDefined(mapperManager.getMapper("json"));
- assert.isDefined(mapperManager.getMapper("dom"));
- done();
- });
- it("should map html elements correctly", (done) => {
- let htmlMappers = mapperManager.getMapper("html");
- let randomNumber = Math.random();
- let randomString = "test-" + Math.random();
- let htmlString = `<test-element model.rotation-offset-angle="${randomNumber}" model.cast-shadow="true" model.id="${randomString}"></test-element>`;
- var d = document.createElement('div');
- d.innerHTML = htmlString;
- let htmlElement = d.firstChild;
- let config = htmlMappers.map(htmlElement);
- if (config.model && typeof config.model === 'object') {
- assert.equal(config.model.rotationOffsetAngle, randomNumber);
- assert.isTrue(config.model.castShadow);
- assert.equal(config.model.id, randomString);
- done();
- } else {
- assert.fail();
- }
- });
- it("should map dom elements correctly", (done) => {
- let domMappers = mapperManager.getMapper("dom");
- let randomNumber = Math.random();
- let randomString = "test-" + Math.random();
- let htmlString = `<test-element>
- <model rotation-offset-angle="${randomNumber}" cast-shadow="true" id="${randomString}">
- </model>
- </test-element>`;
- var d = document.createElement('div');
- d.innerHTML = htmlString;
- let htmlElement = d.firstChild;
- let config = domMappers.map(htmlElement);
- if (config.model && typeof config.model === 'object') {
- assert.equal(config.model.rotationOffsetAngle, randomNumber);
- assert.isTrue(config.model.castShadow);
- assert.equal(config.model.id, randomString);
- done();
- } else {
- assert.fail();
- }
- });
- it("should register a new mapper and allow to use it", (done) => {
- let randomVersion = "version" + Math.random();
- let randomName = "test" + Math.random();
- randomName = randomName.replace(".", "");
- let newMapper: IMapper = {
- map: (rawSource) => {
- return {
- version: randomVersion
- };
- }
- };
- console.log("Next error log is expected");
- assert.isUndefined(mapperManager.getMapper(randomName));
- mapperManager.registerMapper(randomName, newMapper);
- let mapperTest = mapperManager.getMapper(randomName);
- assert.isDefined(mapperTest);
- assert.equal(mapperTest, newMapper);
- let config = mapperTest.map("");
- assert.equal(config.version, randomVersion);
- done();
- });
- });
|