Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mvasilkov/rssi
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.0.5
Choose a base ref
...
head repository: mvasilkov/rssi
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

There isn’t anything to compare.

0.0.5 and master are entirely different commit histories.

Showing with 102 additions and 0 deletions.
  1. +35 −0 test/basic.js
  2. +23 −0 test/blank.js
  3. +36 −0 test/cache.js
  4. +8 −0 test/subtle.js
35 changes: 35 additions & 0 deletions test/basic.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
var assert = require('assert')
var rssi = require('../rssi.js')

describe('rssi:basic', function () {
it('is a function', function () { assert.equal(typeof rssi, 'function') })

it('returns a function returning string', function () {
var res = rssi('nothing')
assert.equal(typeof res, 'function')
assert.equal(typeof res({}), 'string')
})

it('retains plain text', function () {
var chickens = { chickens: 'chickens' }
assert.strictEqual(rssi('')(chickens), '')
assert.strictEqual(rssi('{{ mustache }}')(chickens), '{{ mustache }}')
assert.strictEqual(rssi('$chickens')(chickens), '$chickens')
})

it('interpolates things', function () {
var sub1 = { from: 'meters', to: 'feet', mul: 3.28 }
var sub2 = { from: 'kilojoules', to: 'BTUs', mul: 0.9478 }
var sub3 = { from: 'megabytes', to: 'gigabytes', mul: 1024 }
var test = rssi('Multiply by #{mul} to convert from #{from} to #{to}.')

assert.strictEqual(test(sub1), 'Multiply by 3.28 to convert from meters to feet.')
assert.strictEqual(test(sub2), 'Multiply by 0.9478 to convert from kilojoules to BTUs.')
assert.strictEqual(test(sub3), 'Multiply by 1024 to convert from megabytes to gigabytes.')
})

it('handles repeating arguments', function () {
var test = rssi('#{a} #{b} #{a} #{b}')
assert.strictEqual(test({a: 'a', b: 'b'}), 'a b a b')
})
})
23 changes: 23 additions & 0 deletions test/blank.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
var assert = require('assert')
var rssi = require('../rssi.js')

describe('rssi:blank', function () {
it('retains useless formatting', function () {
var test = rssi('#{a} #{b}')
assert.strictEqual(test(), '#{a} #{b}')
assert.strictEqual(test({}), '#{a} #{b}')
assert.strictEqual(test({a: 'a'}), 'a #{b}')
assert.strictEqual(test({b: 'b'}), '#{a} b')
})

it('accepts the `blank` option', function () {
var opt_b = { blank: true }
var chickens = { chickens: 'chickens' }

assert.strictEqual(rssi('<#{a}>', opt_b)(), '<>')
assert.strictEqual(rssi('<#{a}>', opt_b)({}), '<>')
assert.strictEqual(rssi('<#{a}>', opt_b)(chickens), '<>')
assert.strictEqual(rssi('nobody here but #{us} #{chickens}', opt_b)(chickens),
'nobody here but chickens')
})
})
36 changes: 36 additions & 0 deletions test/cache.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
var assert = require('assert')
var rssi = require('../rssi.js')

describe('rssi:cache', function () {
var opt_nc = { noCache: true }
var opt_b = { blank: true }
var opt_nc_b = { noCache: true, blank: true }

it('caches templates', function () {
assert.strictEqual(rssi('nothing'), rssi('nothing'))
assert.notEqual(rssi('nothing'), rssi('chickens'))

assert.strictEqual(rssi('#{a}'), rssi('#{a}'))
assert.notEqual(rssi('#{a}'), rssi('#{b}'))

assert.strictEqual(rssi('#{a}', opt_b), rssi('#{a}', opt_b))
assert.notEqual(rssi('#{a}', opt_b), rssi('#{b}', opt_b))

assert.notEqual(rssi('chickens'), rssi('chickens', opt_b))
assert.notEqual(rssi('#{a}'), rssi('#{a}', opt_b))
})

it('accepts the `noCache` option', function () {
assert.notEqual(rssi('chickens'), rssi('chickens', opt_nc))
assert.notEqual(rssi('chickens', opt_nc), rssi('chickens'))
assert.notEqual(rssi('chickens', opt_nc), rssi('chickens', opt_nc))

assert.notEqual(rssi('#{a}'), rssi('#{a}', opt_nc))
assert.notEqual(rssi('#{a}', opt_nc), rssi('#{a}'))
assert.notEqual(rssi('#{a}', opt_nc), rssi('#{a}', opt_nc))

assert.notEqual(rssi('#{b}', opt_b), rssi('#{b}', opt_nc_b))
assert.notEqual(rssi('#{b}', opt_nc_b), rssi('#{b}', opt_b))
assert.notEqual(rssi('#{b}', opt_nc_b), rssi('#{b}', opt_nc_b))
})
})
8 changes: 8 additions & 0 deletions test/subtle.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
var assert = require('assert')
var rssi = require('../rssi.js')

describe('rssi:subtle', function () {
it('retains `0`', function () {
assert.strictEqual(rssi('x=#{x}')({x: 0}), 'x=0')
})
})