UNPKG

cfmljs

Version:
62 lines (59 loc) 1.99 kB
/* globals require, describe, it */ // jshint devel:true, curly: false, asi:true var expect = require('expect.js') var cfml = require('../cfml') describe('The CFSET tag', function() { it('should assign a number literal', function(){ var str = '<cfset a = 123>' var vars = {} var result = cfml.renderString(str, vars) expect(vars.a).to.be.a('number') expect(vars.a).to.be(123) }) it('should assign a string literal', function(){ var str = '<cfset a = "test">' var vars = {} var result = cfml.renderString(str, vars) expect(vars.a).to.be.a('string') expect(vars.a).to.be("test") }) it('should assign an object literal', function(){ var str = '<cfset a = {foo:"hello", bar:"world"}>' var vars = {} var result = cfml.renderString(str, vars) expect(vars.a).to.be.an('object') expect(vars.a).to.eql({foo:"hello", bar:"world"}) }) it('should assign an array literal', function(){ var str = '<cfset a = [1,2,3]>' var vars = {} var result = cfml.renderString(str, vars) expect(vars.a).to.be.an('array') expect(vars.a).to.have.length(3) expect(vars.a).to.contain(1) expect(vars.a).to.contain(2) expect(vars.a).to.contain(3) }) it('should evaluate pound signs in a string', function(){ var str = '<cfset foo = "test"><cfset a = "a #foo# string">' var vars = {} var result = cfml.renderString(str, vars) expect(vars.a).to.be.a('string') expect(vars.a).to.be("a test string") }) it('should evaluate pound signs in a variable name', function(){ var str = '<cfset test = "foo"><cfset "#test#bar" = "hello">' var vars = {} var result = cfml.renderString(str, vars) expect(vars.foobar).to.be.a('string') expect(vars.foobar).to.be("hello") }) it('should execute a function call', function(){ var str = '<cfset test = [1,2,3]><cfset test.push(4)>' var vars = {} var result = cfml.renderString(str, vars) expect(vars.test).to.be.an('array') expect(vars.test).to.have.length(4) expect(vars.test).to.contain(4) }) })