GT2/GT2-iOS/node_modules/logfmt/test/roundtrip_tests.js

48 lines
1.5 KiB
JavaScript

var logfmt = require('../logfmt'),
assert = require('assert');
suite('roundtrip', function(){
test("key value pairs are restored", function(){
var data = {foo: 'bar', a: 14}
assert.deepEqual(data, logfmt.parse(logfmt.stringify(data)));
})
test("true and false are restored", function(){
var data = {foo: true, bar: false}
assert.deepEqual(data, logfmt.parse(logfmt.stringify(data)));
})
test("quoted strings with spaces are restored", function(){
var data = {foo: "hello kitty"}
assert.deepEqual(data, logfmt.parse(logfmt.stringify(data)))
})
test("quoted strings with equals are restored", function(){
var data = {foo: "hello=kitty"}
assert.deepEqual(data, logfmt.parse(logfmt.stringify(data)))
})
test("backslahes are restored", function(){
var data = {foo: 'why would you use \\LaTeX?'}
assert.deepEqual(data, logfmt.parse(logfmt.stringify(data)))
})
test("escaped strings are restored", function(){
var data = {foo: 'hello my "friend"'}
assert.deepEqual(data, logfmt.parse(logfmt.stringify(data)))
data = {foo: 'hello my "friend" whom I "love"'}
assert.deepEqual(data, logfmt.parse(logfmt.stringify(data)))
})
test("null comes back as null", function(){
var data = {foo: null}
assert.deepEqual(data, logfmt.parse(logfmt.stringify(data)))
})
test("empty string comes back as an empty string", function(){
var data = {foo: ''}
assert.deepEqual(data, logfmt.parse(logfmt.stringify(data)))
})
})