UNPKG

zpt

Version:

Zenon Page Templates - JS (ZPT-JS)

72 lines (54 loc) 1.91 kB
"use strict"; var zz = require( 'zzdom' ); var Qunit = require( 'qunit' ); var zpt = require( '../../../js/app/main.js' ); var expressionBuilder = zpt.expressionBuilder; var context = zpt.context; var errorFunction = function( errors ) { throw errors; }; zpt.context.setErrorFunction( errorFunction ); var AverageExpression = require( './averageExpression.js' ); var buildDictionary = function(){ return { aNumber: 5, from1To3: [ 1, 2, 3 ] } }; var testNotDefinedExpression = function( assert ){ try { zpt.run({ root: document.body, dictionary: buildDictionary() }); assert.equal( "true" , "false" ); } catch ( e ) { assert.equal( e , "Unknown expression: avg: aNumber 1" ); } //assert.equal( zz('#t1-1').html() , "undefined" ); //assert.equal( zz('#t1-2').html() , "undefined" ); }; var testDefinedExpression = function( assert ){ zpt.run({ root: document.body, dictionary: buildDictionary() }); assert.equal( zz('#t1-1').html() , 3 ); assert.equal( zz('#t1-2').html() , 4 ); }; QUnit.test( "Custom expressions test", function( assert ) { // Set all cache off context.getConf().attributeCacheOn = false; context.getConf().expressionCacheOn = false; // Test when the custom expression is not registered yet testNotDefinedExpression( assert ); // Test when the custom expression is registered expressionBuilder.register( AverageExpression ); testDefinedExpression( assert ); // Test when the custom expression is unregistered expressionBuilder.unregister( AverageExpression ); testNotDefinedExpression( assert ); // Test when the custom expression is registered again expressionBuilder.register( AverageExpression ); testDefinedExpression( assert ); });