Example #1
0
            public ListenerThread(NodejsReplEvaluator eval, Process process, Socket socket)
            {
                this.eval         = eval;
                this.process      = process;
                this.acceptSocket = socket;

                this.acceptSocket.BeginAccept(this.SocketConnectionAccepted, null);

                this.process.OutputDataReceived += new DataReceivedEventHandler(this.StdOutReceived);
                this.process.ErrorDataReceived  += new DataReceivedEventHandler(this.StdErrReceived);
                this.process.EnableRaisingEvents = true;
                this.process.Exited += this.ProcessExited;

                this.process.BeginOutputReadLine();
                this.process.BeginErrorReadLine();
            }
            public ListenerThread(NodejsReplEvaluator eval, Process process, Socket socket) {
                _eval = eval;
                _process = process;
                _acceptSocket = socket;

                _acceptSocket.BeginAccept(SocketConnectionAccepted, null);

                _process.OutputDataReceived += new DataReceivedEventHandler(StdOutReceived);
                _process.ErrorDataReceived += new DataReceivedEventHandler(StdErrReceived);
                _process.EnableRaisingEvents = true;
                _process.Exited += ProcessExited;

                _process.BeginOutputReadLine();
                _process.BeginErrorReadLine();
            }
        public void TestRequireInProject() {
            string testDir;
            do {
                testDir = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
            } while (Directory.Exists(testDir));
            Directory.CreateDirectory(testDir);
            var moduleDir = Path.Combine(testDir, "node_modules");
            Directory.CreateDirectory(moduleDir);
            File.WriteAllText(Path.Combine(moduleDir, "foo.js"), "exports.foo = function(a, b, c) { }");
            File.WriteAllText(Path.Combine(testDir, "bar.js"), "exports.bar = function(a, b, c) { }");

            try {
                using (var eval = new NodejsReplEvaluator(new TestNodejsReplSite(null, testDir))) {
                    var window = new MockReplWindow(eval);
                    window.ClearScreen();
                    var res = eval.ExecuteText("require('foo.js');");
                    Assert.IsTrue(res.Wait(10000));
                    Assert.AreEqual(window.Output, "{ foo: [Function] }");
                    window.ClearScreen();

                    res = eval.ExecuteText("require('./bar.js');");
                    Assert.IsTrue(res.Wait(10000));
                    Assert.AreEqual(window.Output, "{ bar: [Function] }");
                }
            } finally {
                try {
                    Directory.Delete(testDir, true);
                } catch (IOException) {
                }
            }
        }
Example #4
0
 public NpmReplRedirector(NodejsReplEvaluator evaluator)
 {
     this.evaluator = evaluator;
     this.HasErrors = false;
 }