Esempio n. 1
0
 it("must add multiple mix blocks names to class", function () {
     expect(viewJson.render({ block: "block", mix: [
         { block: "mixBlock" },
         { block: "mixBlock2" }
     ] }, getOptions()))
         .toEqual("<div class=\"block mixBlock mixBlock2\"></div>");
 });
Esempio n. 2
0
 it("must share block name only to children naming options", function () {
     expect(viewJson.render({
         block: "block", content: [
             { block: "childBlock" },
             { elem: "elem" }
         ]
     }, getOptions()))
         .toEqual("<div class=\"block\"><div class=\"childBlock\"></div><div class=\"block__elem\"></div></div>");
 });
Esempio n. 3
0
 it("must not add block and to non-element child", function () {
     expect(viewJson.render({ block: "block", content: { } }, getOptions()))
         .toEqual("<div class=\"block\"><div></div></div>");
 });
Esempio n. 4
0
 it("must concatenate block and element name", function () {
     expect(viewJson.render({ block: "block", elem: "elem" }, getOptions()))
         .toEqual("<div class=\"block__elem\"></div>");
 });
Esempio n. 5
0
 it("must pass block name to class", function () {
     expect(viewJson.render({ block: "block" }, getOptions()))
         .toEqual("<div class=\"block\"></div>");
 });
Esempio n. 6
0
 it("must alias cls to class if enabled", function () {
     expect(viewJson.render({ block: "block", class: "customBase", cls: "customOverride" },
         getOptions({ enableCls: true })))
         .toEqual("<div class=\"block customOverride\"></div>");
 });
Esempio n. 7
0
 it("must add mix block with mod to class", function () {
     expect(viewJson.render({ block: "block", mix: { block: "mixBlock", mod: { mixModName: "mixModVal" } } }, getOptions()))
         .toEqual("<div class=\"block mixBlock mixBlock_mixModName_mixModVal\"></div>");
 });
Esempio n. 8
0
 it("must not do anything if bem disabled", function () {
     expect(viewJson.render({ block: "block", elem: "elem", bem: false }, getOptions()))
         .toEqual("<div></div>");
 });
Esempio n. 9
0
 it("must not add null and undefined mod values to elem", function () {
     expect(viewJson.render({ block: "block", elem: "elem", mod: { modName: null, modName2: undefined }  }, getOptions()))
         .toEqual("<div class=\"block__elem\"></div>");
 });
Esempio n. 10
0
 it("must pass js-options from mix", function () {
     expect(viewJson.render({ block: "block", mix: { block: "mixBlock", js: { opt1: 0, opt2: "string" } } }, getOptions()))
         .toEqual("<div onclick=\"return {&quot;mixBlock&quot;:{&quot;opt1&quot;:0,&quot;opt2&quot;:&quot;string&quot;}}\" class=\"block mixBlock i-bem\"></div>");
 });
Esempio n. 11
0
 it("must not alias cls to class by default", function () {
     expect(viewJson.render({ block: "block", class: "customBase", cls: "customOverride" }, getOptions()))
         .toEqual("<div class=\"block customBase\"></div>");
 });
Esempio n. 12
0
 it("must add i-bem class and onclick attribute if js enabled", function () {
     expect(viewJson.render({ block: "block", js: true }, getOptions()))
         .toEqual("<div onclick=\"return {&quot;block&quot;:{}}\" class=\"block i-bem\"></div>");
 });
Esempio n. 13
0
 it("must share block name even to deep children", function () {
     expect(viewJson.render({ block: "block", content: { elem: "elem", content: { elem: "deepElem" } } }, getOptions()))
         .toEqual("<div class=\"block\"><div class=\"block__elem\"><div class=\"block__deepElem\"></div></div></div>");
 });
Esempio n. 14
0
 it("must respect naming options", function () {
     expect(viewJson.render({ block: "block", elem: "elem", mod: { modName: "modVal" } },
         getOptions({ elemSeparator: "1", modSeparator: "2", modValSeparator: "3" })))
         .toEqual("<div class=\"block1elem block1elem2modName3modVal\"></div>");
 });
Esempio n. 15
0
 it("must not add anything with empty mix", function () {
     expect(viewJson.render({ block: "block", mix: {} }, getOptions()))
         .toEqual("<div class=\"block\"></div>");
 });
Esempio n. 16
0
 it("must not concatenate block and child block child element name", function () {
     expect(viewJson.render({ block: "block", content: { block: "childBlock", content: { elem: "elem" } } }, getOptions()))
         .toEqual("<div class=\"block\"><div class=\"childBlock\"><div class=\"childBlock__elem\"></div></div></div>");
 });
Esempio n. 17
0
 it("must concatenate block element and mods", function () {
     expect(viewJson.render({ block: "block", elem: "elem", mod: { modName: "modVal", modName2: "modVal2" }  }, getOptions()))
         .toEqual("<div class=\"block__elem block__elem_modName_modVal block__elem_modName2_modVal2\"></div>");
 });
Esempio n. 18
0
 it("must add i-bem class and all onclick attribute options", function () {
     expect(viewJson.render({ block: "block", js: true, mix: { block: "mixBlock", js: true } }, getOptions()))
         .toEqual("<div onclick=\"return {&quot;block&quot;:{},&quot;mixBlock&quot;:{}}\" class=\"block mixBlock i-bem\"></div>");
 });
Esempio n. 19
0
 it("must not add i-bem class and onclick options if no block specified", function () {
     expect(viewJson.render({ js: true }, getOptions()))
         .toEqual("<div></div>");
 });
Esempio n. 20
0
 it("must respect jsAttr from options", function () {
     expect(viewJson.render({ block: "block", js: true }, getOptions({ jsAttr: "ondblclick" })))
         .toEqual("<div ondblclick=\"return {&quot;block&quot;:{}}\" class=\"block i-bem\"></div>");
 });
Esempio n. 21
0
 it("must add mix block element name to class", function () {
     expect(viewJson.render({ block: "block", mix: { block: "mixBlock", elem: "mixElem" } }, getOptions()))
         .toEqual("<div class=\"block mixBlock__mixElem\"></div>");
 });
Esempio n. 22
0
 it("must not add mix when no block to class", function () {
     expect(viewJson.render({ mix: { elem: "mixElem" } }, getOptions()))
         .toEqual("<div></div>");
 });