mirror of
https://github.com/protobufjs/protobuf.js.git
synced 2025-12-08 20:58:55 +00:00
89 lines
2.6 KiB
JavaScript
89 lines
2.6 KiB
JavaScript
var fs = require("fs"),
|
|
path = require("path"),
|
|
vm = require("vm"),
|
|
long = require("long"),
|
|
tape = require("tape");
|
|
|
|
var distPath = path.join(__dirname, "..", "..", "dist");
|
|
|
|
[
|
|
{
|
|
name: "full",
|
|
data: fs.readFileSync(path.join(distPath, "protobuf.min.js")).toString("utf8")
|
|
},
|
|
{
|
|
name: "light",
|
|
data: fs.readFileSync(path.join(distPath, "light/protobuf.min.js")).toString("utf8")
|
|
},
|
|
{
|
|
name: "minimal",
|
|
data: fs.readFileSync(path.join(distPath, "minimal/protobuf.min.js")).toString("utf8")
|
|
}
|
|
]
|
|
.forEach(function(dist) {
|
|
|
|
tape.test(dist.name + " build", function(test) {
|
|
|
|
test.test(test.name + " - script tags", function(test) {
|
|
var sandbox;
|
|
|
|
var dcodeIO = { Long: long };
|
|
|
|
vm.runInNewContext(dist.data, sandbox = {
|
|
window: {
|
|
dcodeIO: dcodeIO
|
|
},
|
|
dcodeIO: dcodeIO
|
|
});
|
|
|
|
test.ok(sandbox.window.protobuf, "should load the library as a global");
|
|
test.ok(sandbox.window.protobuf.util.Long, "should load long.js to util");
|
|
test.end();
|
|
});
|
|
|
|
test.test(test.name + " - webworkers", function(test) {
|
|
var sandbox;
|
|
|
|
var dcodeIO = { Long: long };
|
|
|
|
vm.runInNewContext(dist.data, sandbox = {
|
|
self: {
|
|
dcodeIO: dcodeIO
|
|
},
|
|
dcodeIO: dcodeIO
|
|
});
|
|
|
|
test.ok(sandbox.self.protobuf, "should load the library as a global");
|
|
test.ok(sandbox.self.protobuf.util.Long, "should load long.js to util");
|
|
test.end();
|
|
});
|
|
|
|
test.test(test.name + " - amd loaders", function(test) {
|
|
var sandbox;
|
|
|
|
function fakeDefine(deps, factory) {
|
|
test.same(deps, [ "long" ], "should request long.js as a dependency");
|
|
test.notOk(sandbox.window.protobuf.util.Long, "should not have loaded long.js before calling the factory function");
|
|
factory(long);
|
|
test.ok(sandbox.window.protobuf.util.Long, "should have loaded long.js after calling the factory function");
|
|
}
|
|
fakeDefine.amd = true;
|
|
|
|
vm.runInNewContext(dist.data, sandbox = {
|
|
define: fakeDefine,
|
|
window: {},
|
|
require: undefined,
|
|
console: console
|
|
});
|
|
|
|
test.ok(sandbox.window.protobuf, "should load the library as a global");
|
|
test.end();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
// commonjs uses ./src
|