Files
meteor/tools/tests/shell-tests.js
2016-11-02 14:18:42 -04:00

47 lines
1.2 KiB
JavaScript

var selftest = require('../tool-testing/selftest.js');
var Sandbox = selftest.Sandbox;
selftest.define("meteor shell", function () {
var s = new Sandbox();
s.createApp("meteor-shell-test", "shell");
s.cd("meteor-shell-test");
var server = s.run();
server.waitSecs(60);
server.match("App running at");
var shell = s.run("shell");
// First try a simple one-line expression.
shell.write("{server:Meteor.isServer}\n");
shell.proc.stdin.end();
shell.waitSecs(10);
shell.match('{"server":true}');
shell.expectExit(0);
shell = s.run("shell");
// Now try with a bunch of newlines in the input.
shell.write("500+\n4000\n+60\n\n+\n7\n");
shell.proc.stdin.end();
shell.waitSecs(10);
shell.match("4567");
shell.expectExit(0);
shell = s.run("shell");
// Now use the shell to make the server output something.
shell.write('console.log("oyez")\n');
shell.proc.stdin.end();
shell.waitSecs(10);
server.match("oyez");
shell.expectExit(0);
shell = s.run("shell");
// Now check something set by the test app.
shell.write('Meteor.checkMeFromShell\n');
shell.proc.stdin.end();
shell.waitSecs(10);
shell.match("oky dok");
shell.expectExit(0);
server.stop();
});