mirror of
https://github.com/flynx/serialize.js.git
synced 2026-07-10 19:20:56 +00:00
91 lines
2.3 KiB
JavaScript
Executable File
91 lines
2.3 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
/**********************************************************************
|
|
*
|
|
*
|
|
*
|
|
**********************************************************************/
|
|
((typeof define)[0]=='u'?function(f){module.exports=f(require)}:define)
|
|
(function(require){ var module={} // make module AMD/node compatible...
|
|
/*********************************************************************/
|
|
|
|
var test = require('ig-test')
|
|
|
|
var eJSON = require('./serialize2')
|
|
|
|
|
|
//---------------------------------------------------------------------
|
|
// XXX split into pure and extended JSON...
|
|
|
|
var setups = test.Setups({
|
|
number: function(assert){
|
|
return '123' },
|
|
string: function(assert){
|
|
return '"string"' },
|
|
'true': function(assert){
|
|
return 'true' },
|
|
'false': function(assert){
|
|
return 'false' },
|
|
|
|
'null': function(assert){
|
|
return 'null' },
|
|
'undefined': function(assert){
|
|
return 'undefined' },
|
|
'NaN': function(assert){
|
|
return 'NaN' },
|
|
|
|
'array-empty': function(assert){
|
|
return '[]' },
|
|
'array-sparse': function(assert){
|
|
return '[<empty>,1,<empty>,<empty>,2,<empty>]' },
|
|
'array-recursive': function(assert){
|
|
return '[<RECURSIVE[]>]' },
|
|
|
|
'object-empty': function(assert){
|
|
return '{}' },
|
|
|
|
'set-empty': function(assert){
|
|
return 'Set([])' },
|
|
|
|
'map-empty': function(assert){
|
|
return 'Map([])' },
|
|
|
|
// XXX
|
|
})
|
|
|
|
test.Modifiers({
|
|
'array-stuffed': function(assert, setup){
|
|
return `[${ setup }]` },
|
|
'object-stuffed': function(assert, setup){
|
|
return `{"key":${ setup }}` },
|
|
//* XXX need better indexing...
|
|
// .getItem(..) / .setItem(..) break on recursive structures
|
|
// in maps/sets...
|
|
'map-stuffed': function(assert, setup){
|
|
return `Map([["key",${ setup }],[${ setup },"value"]])` },
|
|
'set-stuffed': function(assert, setup){
|
|
return `Set([${ setup }])` },
|
|
//*/
|
|
})
|
|
|
|
test.Tests({
|
|
'self-apply': function(assert, setup){
|
|
var res
|
|
assert(
|
|
setup == (res = eJSON.serialize(eJSON.deserialize(setup))),
|
|
'serialize(deserialize( setup )) == setup: expected:', setup, 'got:', res) },
|
|
|
|
})
|
|
|
|
|
|
//---------------------------------------------------------------------
|
|
|
|
typeof(__filename) != 'undefined'
|
|
&& __filename == (require.main || {}).filename
|
|
&& test.run()
|
|
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
* vim:set ts=4 sw=4 nowrap : */ return module })
|