Skip to content

Commit 1a8c720

Browse files
committed
README on tests
1 parent 78952a5 commit 1a8c720

13 files changed

+80
-65
lines changed

dist/protobuf.js

+2-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/protobuf.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/protobuf.min.js

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/protobuf.min.js.gz

0 Bytes
Binary file not shown.

dist/protobuf.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/codegen/verify.js

+1
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ function genVerifyValue(gen, field, fieldIndex, ref) {
190190
for (var j = 0; j < values.length; ++j) gen
191191
("case %d:", values[j]);
192192
gen
193+
("break")
193194
("}");
194195
} else if (field.resolvedType instanceof Type) { gen
195196
("var r;")

tests/README.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
This folder contains all the tests, one per file.
2+
3+
It is essential that tests only use the cross-platform API that is also available in browsers:
4+
5+
* Use `load`, not `loadSync`
6+
* Use `Reader.create`, not `BufferReader`
7+
* Use `Writer.create`, not `BufferWriter`

tests/bench.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@ tape.test("bench.proto and bench.json", function(test) {
99
return test.fail(err.message);
1010

1111
var Test = root.lookup("Test");
12+
1213
var data = require("../bench/bench.json");
1314

1415
test.equal(Test.verify(data), null, "should verify our test data");
15-
var writer = Test.encode(data);
16-
var decoded = Test.decode(writer.finish());
16+
17+
var decoded = Test.decode(Test.encode(data).finish());
1718
test.deepEqual(decoded, data, "should reproduce the original data when encoded and decoded again");
1819

1920
test.deepEqual(decoded.asJSON(), data, "should reproduce the original data asJSON");

tests/empty.js

+3
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,11 @@ tape.test("empty messages", function(test) {
1010
});
1111

1212
var Test = root.lookup("Test");
13+
1314
var buf = Test.encodeDelimited({}).finish();
15+
1416
test.equal(buf.length, 1, "should encodeDelimited to a buffer of length 1");
1517
test.equal(buf[0], 0, "should encodeDelimited a length of 0");
18+
1619
test.end();
1720
});

tests/oneof.js

+3
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@ tape.test("oneofs", function(test) {
99
return test.fail(err.message);
1010

1111
var Message = root.lookup("Message");
12+
1213
var message = Message.create({
1314
str: "a",
1415
num: 1
1516
});
17+
1618
test.equal(message.num, 1, "should initialize the last value");
1719
test.equal(message.getKind(), "num", "should reference the last value");
20+
1821
message.setKind('num');
1922
test.notOk(message.hasOwnProperty('str'), "should delete other values");
2023

tests/package-static.js

+4-5
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ tape.test("package.json (static)", function(test) {
77

88
var root = require("./data/package.js");
99

10-
var Package = root.Package;
11-
var Repository = root.Package.Repository;
10+
var Package = root.Package,
11+
Repository = root.Package.Repository;
12+
1213
var myPackage = new Package(pkg);
1314

1415
test.test("runtime message", function(test) {
@@ -21,9 +22,7 @@ tape.test("package.json (static)", function(test) {
2122

2223
test.test("decoded message", function(test) {
2324

24-
var writer = Package.encode(myPackage);
25-
var buf = writer.finish();
26-
var decoded = Package.decode(buf);
25+
var decoded = Package.decode(Package.encode(myPackage).finish());
2726

2827
test.ok(decoded instanceof Package, "should extend Package");
2928
test.ok(decoded.repository instanceof Repository, "submessage should extend Repository");

tests/package.js

+20-24
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,35 @@ tape.test("package.json", function(test) {
99
if (err)
1010
return test.fail(err.message);
1111

12-
try {
12+
var Package = root.lookup("Package"),
13+
Repository = root.lookup("Package.Repository");
1314

14-
var Package = root.lookup("Package");
15-
var Repository = root.lookup("Package.Repository");
16-
var myPackage = Package.create(pkg);
15+
var myPackage = Package.create(pkg);
1716

18-
test.test("runtime message", function(test) {
17+
test.test("runtime message", function(test) {
1918

20-
test.ok(myPackage instanceof protobuf.Message, "should extend Message");
21-
test.equal(myPackage.$type, Package, "should reference Package as its reflected type");
22-
test.deepEqual(myPackage, pkg, "should have equal contents");
19+
test.ok(myPackage instanceof protobuf.Message, "should extend Message");
20+
test.equal(myPackage.$type, Package, "should reference Package as its reflected type");
21+
test.deepEqual(myPackage, pkg, "should have equal contents");
2322

24-
test.end();
25-
});
23+
test.end();
24+
});
2625

27-
test.test("decoded message", function(test) {
26+
test.test("decoded message", function(test) {
2827

29-
var writer = Package.encode(myPackage);
30-
var buf = writer.finish();
31-
var decoded = Package.decode(buf);
28+
var writer = Package.encode(myPackage);
29+
var buf = writer.finish();
30+
var decoded = Package.decode(buf);
3231

33-
test.ok(decoded instanceof protobuf.Message, "should extend Message");
34-
test.equal(decoded.$type, Package, "should reference Package as its reflected type");
35-
test.ok(decoded.repository instanceof protobuf.Message, "submessages should also extend Message");
36-
test.equal(decoded.repository.$type, Repository, "repository submessage should reference Repository as its reflected type");
37-
test.deepEqual(decoded, pkg, "should have equal contents");
32+
test.ok(decoded instanceof protobuf.Message, "should extend Message");
33+
test.equal(decoded.$type, Package, "should reference Package as its reflected type");
34+
test.ok(decoded.repository instanceof protobuf.Message, "submessages should also extend Message");
35+
test.equal(decoded.repository.$type, Repository, "repository submessage should reference Repository as its reflected type");
36+
test.deepEqual(decoded, pkg, "should have equal contents");
3837

39-
test.end();
40-
});
38+
test.end();
39+
});
4140

42-
} catch (e) {
43-
test.threw(e);
44-
}
4541
test.end();
4642
});
4743

tests/reuse.js

+32-28
Original file line numberDiff line numberDiff line change
@@ -4,50 +4,54 @@ var protobuf = require("..");
44

55
tape.test("reusing", function(test) {
66

7-
var root = protobuf.loadSync("tests/data/simple.proto");
7+
protobuf.load("tests/data/simple.proto", function(err, root) {
8+
if (err)
9+
return test.fail(err.message);
810

9-
var A = root.lookup("A"),
10-
B = root.lookup("B");
11+
var A = root.lookup("A"),
12+
B = root.lookup("B");
1113

12-
test.test("a writer should write", function(test) {
14+
test.test("a writer should write", function(test) {
1315

14-
var writer = protobuf.Writer.create();
16+
var writer = protobuf.Writer.create();
1517

16-
A.encodeDelimited({
17-
a: 1
18-
}, writer);
18+
A.encodeDelimited({
19+
a: 1
20+
}, writer);
1921

20-
B.encodeDelimited({
21-
b: 'a'
22-
}, writer);
22+
B.encodeDelimited({
23+
b: 'a'
24+
}, writer);
2325

24-
var buffer = writer.finish();
26+
var buffer = writer.finish();
2527

26-
test.equal(buffer[0], 2, "length 2");
27-
test.equal(buffer[1], 8, "id 1, wireType 0");
28-
test.equal(buffer[2], 1, "number 1");
29-
test.equal(buffer[3], 3, "length 3");
30-
test.equal(buffer[4], 10, "id 1, wireType 2");
31-
test.equal(buffer[5], 1, "length 1");
32-
test.equal(buffer[6], 97, "string 'a'");
28+
test.equal(buffer[0], 2, "length 2");
29+
test.equal(buffer[1], 8, "id 1, wireType 0");
30+
test.equal(buffer[2], 1, "number 1");
31+
test.equal(buffer[3], 3, "length 3");
32+
test.equal(buffer[4], 10, "id 1, wireType 2");
33+
test.equal(buffer[5], 1, "length 1");
34+
test.equal(buffer[6], 97, "string 'a'");
3335

34-
var reader = protobuf.Reader.create(buffer);
36+
var reader = protobuf.Reader.create(buffer);
3537

36-
test.test("and a reader should", function(test) {
38+
test.test("and a reader should", function(test) {
3739

38-
var a = A.decodeDelimited(reader);
39-
test.deepEqual(a, { a: 1 }, "read back the first message");
40+
var a = A.decodeDelimited(reader);
41+
test.deepEqual(a, { a: 1 }, "read back the first message");
4042

41-
var b = B.decodeDelimited(reader);
42-
test.deepEqual(b, { b: 'a' }, "read back the second message");
43+
var b = B.decodeDelimited(reader);
44+
test.deepEqual(b, { b: 'a' }, "read back the second message");
4345

44-
test.equal(reader.pos, reader.len, "consume the reader");
46+
test.equal(reader.pos, reader.len, "consume the reader");
47+
48+
test.end();
49+
});
4550

4651
test.end();
4752
});
4853

4954
test.end();
50-
});
5155

52-
test.end();
56+
});
5357
});

0 commit comments

Comments
 (0)