Skip to content

Commit

Permalink
v1.0.6 release
Browse files Browse the repository at this point in the history
Minor bug fix

Small corrections or improvements to documentation
and some additional unit tests...
  • Loading branch information
BorisMoore committed Feb 29, 2020
1 parent 6c97c26 commit 27009f2
Show file tree
Hide file tree
Showing 14 changed files with 61 additions and 78 deletions.
2 changes: 1 addition & 1 deletion MIT-LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2019 Boris Moore https://github.com/BorisMoore/jsrender
Copyright (c) 2020 Boris Moore https://github.com/BorisMoore/jsrender

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
Expand Down
10 changes: 4 additions & 6 deletions jsrender-node.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/*! JsRender v1.0.5: http://jsviews.com/#jsrender */
/*! JsRender v1.0.6: http://jsviews.com/#jsrender */
/*! **VERSION FOR NODE.JS** (For WEB see http://jsviews.com/download/jsrender.js) */
/*
* Best-of-breed templating in browser or on Node.js.
* Does not require jQuery, or HTML DOM
* Integrates with JsViews (http://jsviews.com/#jsviews)
*
* Copyright 2019, Boris Moore
* Copyright 2020, Boris Moore
* Released under the MIT License.
*/

Expand All @@ -19,7 +19,7 @@ if (typeof exports !== 'object' ) {

//========================== Top-level vars ==========================

var versionNumber = "v1.0.5",
var versionNumber = "v1.0.6",

// global var is the this object, which is window when running in the usual browser environment

Expand Down Expand Up @@ -451,9 +451,7 @@ function contextParameter(key, value, get) {
: res[1](res[0].data, res[0], $sub) // = fn(data, view, $sub) for compiled binding expression
: res[0]._ocp; // Observable contextual parameter (uninitialized, or initialized as static expression, so no path dependencies)
if (isUpdate) {
if (res && newRes !== value) {
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
}
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
return storeView;
}
res = newRes;
Expand Down
10 changes: 4 additions & 6 deletions jsrender.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/*! JsRender v1.0.5: http://jsviews.com/#jsrender */
/*! JsRender v1.0.6: http://jsviews.com/#jsrender */
/*! **VERSION FOR WEB** (For NODE.JS see http://jsviews.com/download/jsrender-node.js) */
/*
* Best-of-breed templating in browser or on Node.js.
* Does not require jQuery, or HTML DOM
* Integrates with JsViews (http://jsviews.com/#jsviews)
*
* Copyright 2019, Boris Moore
* Copyright 2020, Boris Moore
* Released under the MIT License.
*/

Expand Down Expand Up @@ -44,7 +44,7 @@ var setGlobals = $ === false; // Only set globals if script block in browser (no

$ = $ && $.fn ? $ : global.jQuery; // $ is jQuery passed in by CommonJS loader (Browserify), or global jQuery.

var versionNumber = "v1.0.5",
var versionNumber = "v1.0.6",
jsvStoreName, rTag, rTmplString, topView, $views, $expando,
_ocp = "_ocp", // Observable contextual parameter

Expand Down Expand Up @@ -476,9 +476,7 @@ function contextParameter(key, value, get) {
: res[1](res[0].data, res[0], $sub) // = fn(data, view, $sub) for compiled binding expression
: res[0]._ocp; // Observable contextual parameter (uninitialized, or initialized as static expression, so no path dependencies)
if (isUpdate) {
if (res && newRes !== value) {
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
}
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
return storeView;
}
res = newRes;
Expand Down
4 changes: 2 additions & 2 deletions jsrender.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion jsrender.min.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "jsrender",
"version": "v1.0.5",
"version": "v1.0.6",
"description": "Best-of-breed templating in browser or on Node.js (with Express 4, Hapi and Browserify integration)",
"main": "./jsrender-node.js",
"browser": "./jsrender.js",
Expand Down
10 changes: 4 additions & 6 deletions test/browserify/bundles/1-bundle.js

Large diffs are not rendered by default.

10 changes: 4 additions & 6 deletions test/browserify/bundles/12-nested-bundle.js

Large diffs are not rendered by default.

10 changes: 4 additions & 6 deletions test/browserify/bundles/2-bundle.js

Large diffs are not rendered by default.

10 changes: 4 additions & 6 deletions test/browserify/bundles/3-bundle.js

Large diffs are not rendered by default.

10 changes: 4 additions & 6 deletions test/browserify/bundles/htm-jsrender-tmpl-bundle.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
/*! JsRender v1.0.5: http://jsviews.com/#jsrender */
/*! JsRender v1.0.6: http://jsviews.com/#jsrender */
/*! **VERSION FOR WEB** (For NODE.JS see http://jsviews.com/download/jsrender-node.js) */
/*
* Best-of-breed templating in browser or on Node.js.
* Does not require jQuery, or HTML DOM
* Integrates with JsViews (http://jsviews.com/#jsviews)
*
* Copyright 2019, Boris Moore
* Copyright 2020, Boris Moore
* Released under the MIT License.
*/

Expand Down Expand Up @@ -45,7 +45,7 @@ var setGlobals = $ === false; // Only set globals if script block in browser (no

$ = $ && $.fn ? $ : global.jQuery; // $ is jQuery passed in by CommonJS loader (Browserify), or global jQuery.

var versionNumber = "v1.0.5",
var versionNumber = "v1.0.6",
jsvStoreName, rTag, rTmplString, topView, $views, $expando,
_ocp = "_ocp", // Observable contextual parameter

Expand Down Expand Up @@ -477,9 +477,7 @@ function contextParameter(key, value, get) {
: res[1](res[0].data, res[0], $sub) // = fn(data, view, $sub) for compiled binding expression
: res[0]._ocp; // Observable contextual parameter (uninitialized, or initialized as static expression, so no path dependencies)
if (isUpdate) {
if (res && newRes !== value) {
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
}
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
return storeView;
}
res = newRes;
Expand Down
10 changes: 4 additions & 6 deletions test/browserify/bundles/html-jsr-tmpl-bundle.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
/*! JsRender v1.0.5: http://jsviews.com/#jsrender */
/*! JsRender v1.0.6: http://jsviews.com/#jsrender */
/*! **VERSION FOR WEB** (For NODE.JS see http://jsviews.com/download/jsrender-node.js) */
/*
* Best-of-breed templating in browser or on Node.js.
* Does not require jQuery, or HTML DOM
* Integrates with JsViews (http://jsviews.com/#jsviews)
*
* Copyright 2019, Boris Moore
* Copyright 2020, Boris Moore
* Released under the MIT License.
*/

Expand Down Expand Up @@ -45,7 +45,7 @@ var setGlobals = $ === false; // Only set globals if script block in browser (no

$ = $ && $.fn ? $ : global.jQuery; // $ is jQuery passed in by CommonJS loader (Browserify), or global jQuery.

var versionNumber = "v1.0.5",
var versionNumber = "v1.0.6",
jsvStoreName, rTag, rTmplString, topView, $views, $expando,
_ocp = "_ocp", // Observable contextual parameter

Expand Down Expand Up @@ -477,9 +477,7 @@ function contextParameter(key, value, get) {
: res[1](res[0].data, res[0], $sub) // = fn(data, view, $sub) for compiled binding expression
: res[0]._ocp; // Observable contextual parameter (uninitialized, or initialized as static expression, so no path dependencies)
if (isUpdate) {
if (res && newRes !== value) {
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
}
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
return storeView;
}
res = newRes;
Expand Down
47 changes: 23 additions & 24 deletions test/unit-tests/tests-node.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*global test, equal, ok, QUnit*/
/*global QUnit*/
(function(undefined) {
"use strict";

Expand All @@ -11,37 +11,36 @@ function upper(val) {
function lower(val) {
return val.toLowerCase();
}

QUnit.module("node");
test("jsrender.renderFile / jsrender.__express", function() {
var html = jsrender.renderFile('./test/templates/name-template.html', { name: "Jo" });
equal(html, "Name: Jo (name-template.html)", 'jsrender.renderFile("./file.path.html", data) loads and renders template');
QUnit.test("jsrender.renderFile / jsrender.__express", function(assert) {
var html = jsrender.renderFile('./test/templates/name-template.html', {name: "Jo"});
assert.equal(html, "Name: Jo (name-template.html)", 'jsrender.renderFile("./file.path.html", data) loads and renders template');

html = jsrender.__express('./test/templates/name-template.html', { name: "Jo" });
equal(html, "Name: Jo (name-template.html)", 'jsrender.__express("./file.path.html", data) loads and renders template');
html = jsrender.__express('./test/templates/name-template.html', {name: "Jo"});
assert.equal(html, "Name: Jo (name-template.html)", 'jsrender.__express("./file.path.html", data) loads and renders template');
});

test("jsrender.templates", function() {
QUnit.test("jsrender.templates", function(assert) {
var tmpl = jsrender.templates('./test/templates/name-template.html');
var html = tmpl({ name: "Jo" });
equal(html, "Name: Jo (name-template.html)", 'jsrender.templates("./file.path.html") compiles template');
var html = tmpl({name: "Jo"});
assert.equal(html, "Name: Jo (name-template.html)", 'jsrender.templates("./file.path.html") compiles template');

tmpl = jsrender.templates({markup: 'Some {{:~upper("Markup")}} Name: {{:~upper(name)}} {{lower:name}}', helpers: {upper:upper}, converters: {lower:lower}});
html = tmpl({ name: "Jo" });
equal(html, "Some MARKUP Name: JO jo", 'jsrender.templates({markup: ..., helpers: ..., ...}) compiles template with options');
html = tmpl({name: "Jo"});
assert.equal(html, "Some MARKUP Name: JO jo", 'jsrender.templates({markup: ..., helpers: ..., ...}) compiles template with options');
});

test("jsrender.compile", function() {
QUnit.test("jsrender.compile", function(assert) {
var tmpl = jsrender.compile('./test/templates/name-template.html');
var html = tmpl({ name: "Jo" });
equal(html, "Name: Jo (name-template.html)", 'jsrender.compile("./file.path.html") compiles template');
var html = tmpl({name: "Jo"});
assert.equal(html, "Name: Jo (name-template.html)", 'jsrender.compile("./file.path.html") compiles template');

tmpl = jsrender.compile('Some {{:~upper("Markup")}} Name: {{:~upper(name)}} {{lower:name}}', {helpers: {upper:upper}, converters: {lower:lower}});
html = tmpl({ name: "Jo" });
equal(html, "Some MARKUP Name: JO jo", 'jsrender.compile("markup", {helpers: ..., ...}) compiles template with options');
html = tmpl({name: "Jo"});
assert.equal(html, "Some MARKUP Name: JO jo", 'jsrender.compile("markup", {helpers: ..., ...}) compiles template with options');
});

test("jsrender.tags.clientTemplate", function() {
QUnit.test("jsrender.tags.clientTemplate", function(assert) {
jsrender.views.settings.delimiters("<%", "%>");
var tmpl = jsrender.compile(
'<script src="//code.jquery.com/jquery-3.4.1.js"></script>\n'
Expand All @@ -51,8 +50,8 @@ test("jsrender.tags.clientTemplate", function() {
+ '<script id="clientonly" type="test/x-jsrender">{{include tmpl="./test/templates/outer.html"/}}</script>\n'
+ '<div id="result"></div>\n'
+ '<script>var tmpl = $.templates("#clientonly"); $("#result").html(tmpl({name: "Jeff"}));</script>');
var html = tmpl({ name: "Jo" });
equal(html,
var html = tmpl({name: "Jo"});
assert.equal(html,
'<script src="//code.jquery.com/jquery-3.4.1.js"></script>\n'
+ '<script src="//www.jsviews.com/download/jsrender.js"></script>\n'
+ '<script id="./test/templates/outer.html" type="text/x-jsrender">Name: {{:name}} (outer.html) {{include tmpl="./test/templates/inner.html"/}}</script>\n'
Expand All @@ -63,7 +62,7 @@ test("jsrender.tags.clientTemplate", function() {
'Server-rendered templates using {{clientTemplate "./.../tmpl.html"}}\nand direct rendering using different delimiters on server/client');
});

test("jsrender/tmplify .html template", function() {
QUnit.test("jsrender/tmplify .html template", function(assert) {
stop();
var outputFile = 'test/browserify/bundles/html-jsr-tmpl-bundle.js';
var fs = require('fs');
Expand All @@ -74,7 +73,7 @@ test("jsrender/tmplify .html template", function() {
.bundle()
.pipe(fs.createWriteStream(outputFile)
.on('finish', function() {
ok(fs.readFileSync(outputFile, 'utf8').indexOf("browserify.done.html ") > 0, 'browserify().transform(tmplify)');
assert.ok(fs.readFileSync(outputFile, 'utf8').indexOf("browserify.done.html ") > 0, 'browserify().transform(tmplify)');
start();
})
)
Expand All @@ -83,7 +82,7 @@ test("jsrender/tmplify .html template", function() {
});
});

test("jsrender/tmplify options: 'htm jsr'", function() {
QUnit.test("jsrender/tmplify options: 'htm jsr'", function(assert) {
stop();
var outputFile = 'test/browserify/bundles/htm-jsrender-tmpl-bundle.js';
var fs = require('fs');
Expand All @@ -93,7 +92,7 @@ test("jsrender/tmplify options: 'htm jsr'", function() {
.bundle()
.pipe(fs.createWriteStream(outputFile))
.on('finish', function() {
ok(fs.readFileSync(outputFile, 'utf8').indexOf("browserify.done.htm ") > 0, 'browserify().transform(tmplify, {extensions: "..., ..."})');
assert.ok(fs.readFileSync(outputFile, 'utf8').indexOf("browserify.done.htm ") > 0, 'browserify().transform(tmplify, {extensions: "..., ..."})');
start();
})
.on('error', function(err) {
Expand Down
2 changes: 1 addition & 1 deletion typescript/jsrender/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Type definitions for JsRender 1.0
// Version: "v1.0.5"
// Version: "v1.0.6"
// Project: http://www.jsviews.com/#jsrender
// Definitions by: Boris Moore <https://github.com/borismoore>
// Definitions: https://www.jsviews.com/download/typescript/jsrender/index.d.ts
Expand Down

0 comments on commit 27009f2

Please sign in to comment.