Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6056 efrain 1
/*global QUnit*/
2
(function(undefined) {
3
"use strict";
4
 
5
var jsrender = require('./../../jsrender-node.js');
6
var tmplify = require('./../../tmplify/index.js');
7
 
8
function upper(val) {
9
	return val.toUpperCase();
10
}
11
function lower(val) {
12
	return val.toLowerCase();
13
}
14
QUnit.module("node");
15
QUnit.test("jsrender.renderFile / jsrender.__express", function(assert) {
16
	var html = jsrender.renderFile('./test/templates/name-template.html', {name: "Jo"});
17
	assert.equal(html, "Name: Jo (name-template.html)", 'jsrender.renderFile("./file.path.html", data) loads and renders template');
18
 
19
	html = jsrender.__express('./test/templates/name-template.html', {name: "Jo"});
20
	assert.equal(html, "Name: Jo (name-template.html)", 'jsrender.__express("./file.path.html", data) loads and renders template');
21
});
22
 
23
QUnit.test("jsrender.templates", function(assert) {
24
	var tmpl = jsrender.templates('./test/templates/name-template.html');
25
	var html = tmpl({name: "Jo"});
26
	assert.equal(html, "Name: Jo (name-template.html)", 'jsrender.templates("./file.path.html") compiles template');
27
 
28
	tmpl = jsrender.templates({markup: 'Some {{:~upper("Markup")}} Name: {{:~upper(name)}} {{lower:name}}', helpers: {upper:upper}, converters: {lower:lower}});
29
	html = tmpl({name: "Jo"});
30
	assert.equal(html, "Some MARKUP Name: JO jo", 'jsrender.templates({markup: ..., helpers: ..., ...}) compiles template with options');
31
});
32
 
33
QUnit.test("jsrender.compile", function(assert) {
34
	var tmpl = jsrender.compile('./test/templates/name-template.html');
35
	var html = tmpl({name: "Jo"});
36
	assert.equal(html, "Name: Jo (name-template.html)", 'jsrender.compile("./file.path.html") compiles template');
37
 
38
	tmpl = jsrender.compile('Some {{:~upper("Markup")}} Name: {{:~upper(name)}} {{lower:name}}', {helpers: {upper:upper}, converters: {lower:lower}});
39
	html = tmpl({name: "Jo"});
40
	assert.equal(html, "Some MARKUP Name: JO jo", 'jsrender.compile("markup", {helpers: ..., ...}) compiles template with options');
41
});
42
 
43
QUnit.test("jsrender.tags.clientTemplate", function(assert) {
44
	jsrender.views.settings.delimiters("<%", "%>");
45
	var tmpl = jsrender.compile(
46
		'<script src="//code.jquery.com/jquery-3.5.1.js"></script>\n'
47
		+ '<script src="//www.jsviews.com/download/jsrender.js"></script>\n'
48
		+ '<%clientTemplate "./test/templates/outer.html"/%>\n'
49
		+ '<%clientTemplate "./test/templates/inner.html"/%>\n'
50
		+ '<script id="clientonly" type="test/x-jsrender">{{include tmpl="./test/templates/outer.html"/}}</script>\n'
51
		+ '<div id="result"></div>\n'
52
		+ '<script>var tmpl = $.templates("#clientonly"); $("#result").html(tmpl({name: "Jeff"}));</script>');
53
	var html = tmpl({name: "Jo"});
54
	assert.equal(html,
55
		'<script src="//code.jquery.com/jquery-3.5.1.js"></script>\n'
56
		+ '<script src="//www.jsviews.com/download/jsrender.js"></script>\n'
57
		+ '<script id="./test/templates/outer.html" type="text/x-jsrender">Name: {{:name}} (outer.html) {{include tmpl="./test/templates/inner.html"/}}</script>\n'
58
		+ '<script id="./test/templates/inner.html" type="text/x-jsrender">Name: {{:name}} (inner.html)</script>\n'
59
		+ '<script id="clientonly" type="test/x-jsrender">{{include tmpl="./test/templates/outer.html"/}}</script>\n'
60
		+ '<div id="result"></div>\n'
61
		+ '<script>var tmpl = $.templates("#clientonly"); $("#result").html(tmpl({name: "Jeff"}));</script>',
62
	'Server-rendered templates using {{clientTemplate "./.../tmpl.html"}}\nand direct rendering using different delimiters on server/client');
63
});
64
 
65
QUnit.test("jsrender/tmplify .html template", function(assert) {
66
	stop();
67
	var outputFile = 'test/browserify/bundles/html-jsr-tmpl-bundle.js';
68
	var fs = require('fs');
69
	var browserify = require('browserify');
70
	browserify('test/browserify/html-jsr-tmpl.js')
71
 
72
	.transform(tmplify) // Use default extensions: "html jsr jsrender"
73
	.bundle()
74
	.pipe(fs.createWriteStream(outputFile)
75
		.on('finish', function() {
76
			assert.ok(fs.readFileSync(outputFile, 'utf8').indexOf("browserify.done.html ") > 0, 'browserify().transform(tmplify)');
77
			start();
78
		})
79
	)
80
	.on('error', function(err) {
81
		console.log(err);
82
	});
83
});
84
 
85
QUnit.test("jsrender/tmplify options: 'htm jsr'", function(assert) {
86
	stop();
87
	var outputFile = 'test/browserify/bundles/htm-jsrender-tmpl-bundle.js';
88
	var fs = require('fs');
89
	var browserify = require('browserify');
90
	browserify('test/browserify/htm-jsrender-tmpl.js')
91
	.transform(tmplify, {extensions: 'htm jsrender'})
92
	.bundle()
93
	.pipe(fs.createWriteStream(outputFile))
94
		.on('finish', function() {
95
			assert.ok(fs.readFileSync(outputFile, 'utf8').indexOf("browserify.done.htm ") > 0, 'browserify().transform(tmplify, {extensions: "..., ..."})');
96
			start();
97
		})
98
	.on('error', function(err) {
99
		console.log(err);
100
	});
101
});
102
 
103
})();