Skip to content

Commit fcdb1d5

Browse files
committed
change test interface to tdd
1 parent f77030e commit fcdb1d5

File tree

3 files changed

+31
-17
lines changed

3 files changed

+31
-17
lines changed

gruntfile.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ module.exports = function(grunt) {
1717

1818
simplemocha: {
1919
options: {
20-
reporter: 'List'
20+
reporter: 'List',
21+
ui: 'tdd'
2122
},
2223
all: { src: ['test/**/*.js'] }
2324
}

src/dataReader.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ typesTable[DataTypes.list] = function (pointer, buffer, scheme) {
9999
};
100100

101101
var structureReader = function (pointer, buffer, scheme) {
102+
var res;
103+
102104
if (arguments.length === 2) {
103105
scheme = buffer;
104106
buffer = pointer;
@@ -108,9 +110,9 @@ var structureReader = function (pointer, buffer, scheme) {
108110
}
109111

110112
if(typeof scheme === 'number') {
111-
var res = typesTable[scheme](pointer, buffer);
113+
res = typesTable[scheme](pointer, buffer);
112114
} else {
113-
var res = {};
115+
res = {};
114116
for (var el in scheme) {
115117
var s = scheme[el];
116118
if (typeof s === 'number') {

test/tests.js

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ DataTypes = require("../src/index").DataTypes;
77
DataReader = require("../src/index").DataReader;
88
DataWriter = require("../src/index").DataWriter;
99

10-
describe("DataStruct", function(){
10+
suite("DataStruct", function(){
1111

1212
var dataBundle = {
1313
'basic types': {
@@ -16,7 +16,7 @@ describe("DataStruct", function(){
1616
buffer: new Buffer([0x00, 0x2a])
1717
},
1818

19-
'flat structure': {
19+
'flat structure (basic types)': {
2020
object: {
2121
boolean: true,
2222
int8: -126,
@@ -26,10 +26,7 @@ describe("DataStruct", function(){
2626
int32: -100000,
2727
uint32: 100000,
2828
float: 1230000,
29-
double: -123.456,
30-
string: 'Some text + юникод',
31-
shortBuffer: new Buffer([1,2,3]),
32-
buffer: new Buffer([0xaa,0xbb,0xcc])
29+
double: -123.456
3330
},
3431

3532
scheme: {
@@ -41,10 +38,7 @@ describe("DataStruct", function(){
4138
int32: DataTypes.int32,
4239
uint32: DataTypes.uint32,
4340
float: DataTypes.float,
44-
double: DataTypes.double,
45-
string: DataTypes.string,
46-
shortBuffer: DataTypes.shortBuffer,
47-
buffer: DataTypes.buffer
41+
double: DataTypes.double
4842
},
4943

5044
buffer: new Buffer([
@@ -57,6 +51,23 @@ describe("DataStruct", function(){
5751
0x00, 0x01, 0x86, 0xa0, // uint32
5852
0x49, 0x96, 0x25, 0x80, // float
5953
0xc0, 0x5e, 0xdd, 0x2f, 0x1a, 0x9f, 0xbe, 0x77, // double
54+
])
55+
},
56+
57+
'flat structure (composite types)': {
58+
object: {
59+
string: 'Some text + юникод',
60+
shortBuffer: new Buffer([1,2,3]),
61+
buffer: new Buffer([0xaa,0xbb,0xcc])
62+
},
63+
64+
scheme: {
65+
string: DataTypes.string,
66+
shortBuffer: DataTypes.shortBuffer,
67+
buffer: DataTypes.buffer
68+
},
69+
70+
buffer: new Buffer([
6071
0x00, 0x18, // string length (uint16 BE)
6172
0x53, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x65, 0x78, 0x74, 0x20, 0x2b, 0x20, 0xd1, 0x8e, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb4, // string
6273
0x00, 0x03, // short buffer length (uint16 BE)
@@ -139,23 +150,23 @@ describe("DataStruct", function(){
139150

140151
};
141152

142-
describe("Buffer to Object convert", function(){
153+
suite("Buffer to Object convert", function(){
143154
for(var suite in dataBundle) {
144155
var data = dataBundle[suite];
145156
(function(suite, data) {
146-
it("should return buffer for '" + suite + "' suite", function () {
157+
test("should return buffer for '" + suite + "' suite", function () {
147158
var res = DataReader(data.buffer, data.scheme);
148159
assert.deepEqual(res, data.object);
149160
});
150161
})(suite, data);
151162
}
152163
});
153164

154-
describe("Object to Buffer convert", function(){
165+
suite("Object to Buffer convert", function(){
155166
for(var suite in dataBundle) {
156167
var data = dataBundle[suite];
157168
(function(suite, data) {
158-
it("should return buffer for '" + suite + "' suite", function () {
169+
test("should return buffer for '" + suite + "' suite", function () {
159170
var res = DataWriter(data.object, data.scheme);
160171
assert.deepEqual(res, data.buffer);
161172
});

0 commit comments

Comments
 (0)