THRIFT-1553 thrift nodejs service side can't read map structure, key as enum, value as Object
Patch: Henrique Mendonca

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1310986 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/generate/t_js_generator.cc b/compiler/cpp/src/generate/t_js_generator.cc
index 5a5b59e..eb553ad 100644
--- a/compiler/cpp/src/generate/t_js_generator.cc
+++ b/compiler/cpp/src/generate/t_js_generator.cc
@@ -1367,12 +1367,14 @@
   scope_up(out);
 
   if (ttype->is_map()) {
-    out <<
-    indent() << "if (" << i << " > 0 ) {" << endl <<
-    indent() << "  if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {" << endl <<
-    indent() << "    input.rstack.pop();" << endl <<
-    indent() << "  }" << endl <<
-    indent() << "}" << endl;
+    if (!gen_node_) {
+      out <<
+      indent() << "if (" << i << " > 0 ) {" << endl <<
+      indent() << "  if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {" << endl <<
+      indent() << "    input.rstack.pop();" << endl <<
+      indent() << "  }" << endl <<
+      indent() << "}" << endl;
+    }
 
     generate_deserialize_map_element(out, (t_map*)ttype, prefix);
   } else if (ttype->is_set()) {
diff --git a/test/nodejs/client.js b/test/nodejs/client.js
index 60d70bf..3a82a83 100644
--- a/test/nodejs/client.js
+++ b/test/nodejs/client.js
@@ -114,8 +114,6 @@
 	passed();
 });
 
-/*
- * TypeError: Cannot read property 'length' of undefined
 var mapout = {};
 for (var i = 0; i < 5; ++i) {
   mapout[i] = i-10;
@@ -125,7 +123,6 @@
   console.log("testMap(", mapout, ") = \n", response);
 	passed();
 });
-*/
 
 /*
  * TODO: testSet, testList, testEnum, testTypedef, testMapMap, testInsanity