-
Notifications
You must be signed in to change notification settings - Fork 1
/
test.js
76 lines (62 loc) · 2.69 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
'use strict'
const assert = require('chai').assert,
fs = require('fs'),
json2lua = require('..');
describe('fromObject', function () {
const jsonObj = {
data: [{
"id": 1,
"name": "dog",
"price": 200
},
{
"id": 42,
"name": "milk",
"price": 6
}
],
source: "json object"
};
const dstFileName = 'fromObject.lua',
expectedResult = '{["data"] = {{["id"] = 1,["name"] = "dog",["price"] = 200},{["id"] = 42,["name"] = "milk",["price"] = 6}},["source"] = "json object"}',
expectedBuffer = Buffer.from(expectedResult, 'utf8'),
result = json2lua.fromObject(jsonObj, dstFileName);
it('should convert to expacted string.', function () {
assert.strictEqual(result, expectedResult);
});
it('should generate a file content equal to expacted buffer', function () {
var fileResult = fs.readFileSync(dstFileName);
assert.isTrue(fileResult.equals(expectedBuffer));
fs.unlinkSync(dstFileName);
});
});
describe('fromString', function () {
const dstFileName = 'fromString.lua',
jsonStr = `{"data":[{"id":1,"name":"dog","price":200},{"id":42,"name":"milk","price":6}],"source":"json string"}`,
expectedResult = '{["data"] = {{["id"] = 1,["name"] = "dog",["price"] = 200},{["id"] = 42,["name"] = "milk",["price"] = 6}},["source"] = "json string"}',
expectedBuffer = Buffer.from(expectedResult, 'utf8'),
result = json2lua.fromString(jsonStr, dstFileName);
it('should convert to expacted string.', function () {
assert.strictEqual(result, expectedResult);
});
it('should generate a file content equal to expacted buffer', function () {
var fileResult = fs.readFileSync(dstFileName);
assert.isTrue(fileResult.equals(expectedBuffer));
fs.unlinkSync(dstFileName);
});
});
describe('fromFile', function () {
const srcFileName = './asset/test.json',
dstFileName = 'fromFile.lua',
expectedResult = '{["data"] = {{["id"] = 1,["name"] = "dog",["price"] = 200},{["id"] = 42,["name"] = "milk",["price"] = 6}},["source"] = "json file"}',
expectedBuffer = Buffer.from(expectedResult, 'utf8'),
result = json2lua.fromFile(srcFileName, dstFileName);
it('should convert to expacted string.', function () {
assert.strictEqual(result, expectedResult);
});
it('should generate a file content equal to expacted buffer', function () {
var fileResult = fs.readFileSync(dstFileName);
assert.isTrue(fileResult.equals(expectedBuffer));
fs.unlinkSync(dstFileName);
});
});