summaryrefslogtreecommitdiff
path: root/test/pummel/test-net-pause.js
diff options
context:
space:
mode:
authorMicheil Smith <micheil@brandedcode.com>2010-06-18 10:34:56 -0700
committerRyan Dahl <ry@tinyclouds.org>2010-06-18 10:34:56 -0700
commite0d30b545a737c43097f96446d82374ab2fd1e9a (patch)
treebfe1c66bc6a1b66e001d6241c7efd4d26fb8b1e4 /test/pummel/test-net-pause.js
parent3f48276bf9e36d6af5760aeb4fbd1123f6c4f207 (diff)
downloadandroid-node-v8-e0d30b545a737c43097f96446d82374ab2fd1e9a.tar.gz
android-node-v8-e0d30b545a737c43097f96446d82374ab2fd1e9a.tar.bz2
android-node-v8-e0d30b545a737c43097f96446d82374ab2fd1e9a.zip
Renaming tcp tests to net tests
Diffstat (limited to 'test/pummel/test-net-pause.js')
-rw-r--r--test/pummel/test-net-pause.js67
1 files changed, 67 insertions, 0 deletions
diff --git a/test/pummel/test-net-pause.js b/test/pummel/test-net-pause.js
new file mode 100644
index 0000000000..de84c0ee67
--- /dev/null
+++ b/test/pummel/test-net-pause.js
@@ -0,0 +1,67 @@
+require("../common");
+net = require("net");
+N = 200;
+
+server = net.createServer(function (connection) {
+ function write (j) {
+ if (j >= N) {
+ connection.end();
+ return;
+ }
+ setTimeout(function () {
+ connection.write("C");
+ write(j+1);
+ }, 10);
+ }
+ write(0);
+});
+server.listen(PORT);
+
+
+recv = "";
+chars_recved = 0;
+
+client = net.createConnection(PORT);
+client.setEncoding("ascii");
+client.addListener("data", function (d) {
+ print(d);
+ recv += d;
+});
+
+setTimeout(function () {
+ chars_recved = recv.length;
+ puts("pause at: " + chars_recved);
+ assert.equal(true, chars_recved > 1);
+ client.pause();
+ setTimeout(function () {
+ puts("resume at: " + chars_recved);
+ assert.equal(chars_recved, recv.length);
+ client.resume();
+
+ setTimeout(function () {
+ chars_recved = recv.length;
+ puts("pause at: " + chars_recved);
+ client.pause();
+
+ setTimeout(function () {
+ puts("resume at: " + chars_recved);
+ assert.equal(chars_recved, recv.length);
+ client.resume();
+
+ }, 500);
+
+ }, 500);
+
+ }, 500);
+
+}, 500);
+
+client.addListener("end", function () {
+ server.close();
+ client.end();
+});
+
+process.addListener("exit", function () {
+ assert.equal(N, recv.length);
+ debug("Exit");
+});