--- /dev/null
+'use strict';
+
+module.exports = function (t, a) {
+ var fn = function (raz, dwa) { return raz + dwa; };
+ a(t('undefined'), undefined, "Undefined");
+ a(t('null'), null, "Null");
+ a(t('"raz"'), 'raz', "String");
+ a(t('"raz\\"ddwa\\ntrzy"'), 'raz"ddwa\ntrzy', "String with escape");
+ a(t('false'), false, "Booelean");
+ a(String(t(String(fn))), String(fn), "Function");
+
+ a.deep(t('/raz-dwa/g'), /raz-dwa/g, "RegExp");
+ a.deep(t('new Date(1234567)'), new Date(1234567), "Date");
+ a.deep(t('[]'), [], "Empty array");
+ a.deep(t('[undefined,false,null,"raz\\"ddwa\\ntrzy",/raz/g,new Date(1234567),["foo"]]'),
+ [undefined, false, null, 'raz"ddwa\ntrzy', /raz/g, new Date(1234567), ['foo']], "Rich Array");
+ a.deep(t('{}'), {}, "Empty object");
+ a.deep(t('{"raz":undefined,"dwa":false,"trzy":null,"cztery":"raz\\"ddwa\\ntrzy",' +
+ '"szesc":/raz/g,"siedem":new Date(1234567),"osiem":["foo",32],' +
+ '"dziewiec":{"foo":"bar","dwa":343}}'),
+ { raz: undefined, dwa: false, trzy: null, cztery: 'raz"ddwa\ntrzy', szesc: /raz/g,
+ siedem: new Date(1234567), osiem: ['foo', 32], dziewiec: { foo: 'bar', dwa: 343 } },
+ "Rich object");
+};