Files
flights_web_raw/apps/angular/node_modules/dot/test/conditionals.test.js
T

55 lines
1.7 KiB
JavaScript

"use strict"
const test = require("./util").test
describe("conditionals", () => {
describe("without else", () => {
const templates = [
"{{?it.one < 2}}{{=it.one}}{{?}}{{=it.two}}",
"{{? it.one < 2 }}{{= it.one }}{{?}}{{= it.two }}",
]
it("should evaluate condition and include template if valid", () => {
test(templates, {one: 1, two: 2}, "12")
})
it("should evaluate condition and do NOT include template if invalid", () => {
test(templates, {one: 3, two: 2}, "2")
})
})
describe("with else", () => {
const templates = [
"{{?it.one < 2}}{{=it.one}}{{??}}{{=it.two}}{{?}}",
"{{? it.one < 2 }}{{= it.one }}{{??}}{{= it.two }}{{?}}",
]
it('should evaluate condition and include "if" template if valid', () => {
test(templates, {one: 1, two: 2}, "1")
})
it('should evaluate condition and include "else" template if invalid', () => {
test(templates, {one: 3, two: 2}, "2")
})
})
describe("with else if", () => {
const templates = [
"{{?it.one < 2}}{{=it.one}}{{??it.two < 3}}{{=it.two}}{{??}}{{=it.three}}{{?}}",
"{{? it.one < 2 }}{{= it.one }}{{?? it.two < 3 }}{{= it.two }}{{??}}{{= it.three }}{{?}}",
]
it('should evaluate condition and include "if" template if valid', () => {
test(templates, {one: 1, two: 2, three: 3}, "1")
})
it('should evaluate condition and include "else if" template if second condition valid', () => {
test(templates, {one: 10, two: 2, three: 3}, "2")
})
it('should evaluate condition and include "else" template if invalid', () => {
test(templates, {one: 10, two: 20, three: 3}, "3")
})
})
})