Open GoogleCodeExporter opened 8 years ago
Here is what I get from trying to run it (JsTestDriver-1.2.jar Self-contained
executable jar Featured) on chrome 3.0.195.27 and Firefox 3.5.4 on Win Xp 64
bit
(including prototype.js version 1.6.1):
Chrome:
30-Oct-2009 16:10:28 org.mortbay.log.Slf4jLog info
INFO: Logging to org.slf4j.impl.JDK14LoggerAdapter(org.mortbay.log) via
org.mortbay.log.Slf4jLog
30-Oct-2009 16:10:28 org.mortbay.log.Slf4jLog info
INFO: jetty-6.1.x
30-Oct-2009 16:10:28 org.mortbay.log.Slf4jLog info
INFO: Started SocketConnector@0.0.0.0:9876
30-Oct-2009 16:10:29 com.google.jstestdriver.BrowserHunter captureBrowser
INFO: Browser Captured: Chrome version 3.0.195.27 (1)
30-Oct-2009 16:10:30 org.mortbay.log.Slf4jLog warn
SEVERE: /query/1
com.google.gson.JsonParseException: The JsonDeserializer
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@1cd280b failed to
deserialized json object "[{"file": {"fileSrc":
"/test/C:/Projects/t/modules/adminconsole/src/web/js/prototype.js",
"timestamp":
1253182293781}, "success": true, "message": ""}, {"file": {"fileSrc":
"/test/C:/Projects/t/modules/adminconsole/src/web/js/scriptaculous.js",
"timestamp":
1253182293796}, "success": true, "message": ""}, {"file": {"fileSrc":
"/test/C:/Projects/t/modules/adminconsole/src/web/js/editOrder.js",
"timestamp":
1256911955060}, "success": true, "message": ""}, {"file": {"fileSrc":
"/test/C:/Projects/t/modules/adminconsole/src/web-test/js/editOrderTest.js",
"timestamp": 1256911339279}, "success": true, "message": ""}]" given the type
com.google.gson.ParameterizedTypeImpl@1277cac
at
com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExc
eptio
nWrapper.java:63)
at
com.google.gson.JsonObjectDeserializationVisitor.visitFieldUsingCustomHandler(Js
onObj
ectDeserializationVisitor.java:106)
at
com.google.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:135)
at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:116)
at
com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializa
tionC
ontextDefault.java:75)
at
com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializatio
nCont
extDefault.java:49)
at com.google.gson.Gson.fromJson(Gson.java:373)
at com.google.gson.Gson.fromJson(Gson.java:321)
at com.google.gson.Gson.fromJson(Gson.java:297)
at com.google.jstestdriver.BrowserQueryResponseServlet.service(Unknown
Source)
at com.google.jstestdriver.BrowserQueryResponseServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
Caused by: java.lang.ClassCastException: com.google.gson.JsonPrimitive cannot
be cast
to com.google.gson.JsonArray
at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:91)
at
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTyp
eAdap
ters.java:399)
at
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTyp
eAdap
ters.java:369)
at
com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExc
eptio
nWrapper.java:50)
... 23 more
Firefox:
30-Oct-2009 16:12:03 org.mortbay.log.Slf4jLog info
INFO: Logging to org.slf4j.impl.JDK14LoggerAdapter(org.mortbay.log) via
org.mortbay.log.Slf4jLog
30-Oct-2009 16:12:03 org.mortbay.log.Slf4jLog info
INFO: jetty-6.1.x
30-Oct-2009 16:12:04 org.mortbay.log.Slf4jLog info
INFO: Started SocketConnector@0.0.0.0:9876
30-Oct-2009 16:12:05 com.google.jstestdriver.BrowserHunter captureBrowser
INFO: Browser Captured: Firefox version 3.5.4 (1)
30-Oct-2009 16:12:06 org.mortbay.log.Slf4jLog warn
SEVERE: /query/1
com.google.gson.JsonParseException: The JsonDeserializer
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@1958bf9 failed to
deserialized json object "[{"file": {"fileSrc":
"/test/C:/Projects/t/modules/adminconsole/src/web/js/prototype.js",
"timestamp":
1253182293781}, "success": true, "message": ""}, {"file": {"fileSrc":
"/test/C:/Projects/t/modules/adminconsole/src/web/js/scriptaculous.js",
"timestamp":
1253182293796}, "success": true, "message": ""}, {"file": {"fileSrc":
"/test/C:/Projects/t/modules/adminconsole/src/web/js/editOrder.js",
"timestamp":
1256911955060}, "success": true, "message": ""}, {"file": {"fileSrc":
"/test/C:/Projects/t/modules/adminconsole/src/web-test/js/editOrderTest.js",
"timestamp": 1256911339279}, "success": true, "message": ""}]" given the type
com.google.gson.ParameterizedTypeImpl@1630cfd
at
com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExc
eptio
nWrapper.java:63)
at
com.google.gson.JsonObjectDeserializationVisitor.visitFieldUsingCustomHandler(Js
onObj
ectDeserializationVisitor.java:106)
at
com.google.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:135)
at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:116)
at
com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializa
tionC
ontextDefault.java:75)
at
com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializatio
nCont
extDefault.java:49)
at com.google.gson.Gson.fromJson(Gson.java:373)
at com.google.gson.Gson.fromJson(Gson.java:321)
at com.google.gson.Gson.fromJson(Gson.java:297)
at com.google.jstestdriver.BrowserQueryResponseServlet.service(Unknown
Source)
at com.google.jstestdriver.BrowserQueryResponseServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
Caused by: java.lang.ClassCastException: com.google.gson.JsonPrimitive cannot
be cast
to com.google.gson.JsonArray
at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:91)
at
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTyp
eAdap
ters.java:399)
at
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTyp
eAdap
ters.java:369)
at
com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExc
eptio
nWrapper.java:50)
... 23 more
Original comment by Mors...@gmail.com
on 30 Oct 2009 at 3:15
I appear to be having same issues as above:
I'm on mac 10.4.11 using prototype 1.6
imac:~/Desktop/JsTestDriver-1.2$ java -jar JsTestDriver-1.2.jar --port 9876
Nov 4, 2009 5:32:18 PM org.mortbay.log.Slf4jLog info
INFO: Logging to org.slf4j.impl.JDK14LoggerAdapter(org.mortbay.log) via
org.mortbay.log.Slf4jLog
Nov 4, 2009 5:32:18 PM org.mortbay.log.Slf4jLog info
INFO: jetty-6.1.x
Nov 4, 2009 5:32:18 PM org.mortbay.log.Slf4jLog info
INFO: Started SocketConnector@0.0.0.0:9876
Nov 4, 2009 5:32:21 PM com.google.jstestdriver.BrowserHunter captureBrowser
INFO: Browser Captured: Firefox version 3.5.3 (1)
Nov 4, 2009 5:32:27 PM org.mortbay.log.Slf4jLog warn
SEVERE: /query/1
com.google.gson.JsonParseException: The JsonDeserializer
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@748417 failed to
deserialized json object "[{"file": {"fileSrc":
"/test//Users/daviddevalk/Desktop/BlindRebel/apps/prototype/media/js/prototype_1
.6.1.js",
"timestamp": 1252758450000}, "success": true, "message": ""}, {"file":
{"fileSrc":
"/test//Users/daviddevalk/Desktop/BlindRebel/apps/lists/media/js/lists.js",
"timestamp": 1257373402000}, "success": true, "message": ""}]" given the type
com.google.gson.ParameterizedTypeImpl@6785f0
at
com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExc
eptionWrapper.java:63)
at
com.google.gson.JsonObjectDeserializationVisitor.visitFieldUsingCustomHandler(Js
onObjectDeserializationVisitor.java:106)
at com.google.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:135)
at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:116)
at
com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializa
tionContextDefault.java:75)
at
com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializatio
nContextDefault.java:49)
at com.google.gson.Gson.fromJson(Gson.java:373)
at com.google.gson.Gson.fromJson(Gson.java:321)
at com.google.gson.Gson.fromJson(Gson.java:297)
at com.google.jstestdriver.BrowserQueryResponseServlet.service(Unknown Source)
at com.google.jstestdriver.BrowserQueryResponseServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
Caused by: java.lang.ClassCastException: com.google.gson.JsonPrimitive
at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:91)
at
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTyp
eAdapters.java:399)
at
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTyp
eAdapters.java:369)
at
com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExc
eptionWrapper.java:50)
... 23 more
Original comment by ddev...@gmail.com
on 4 Nov 2009 at 10:33
Please solve this problem!
In the meantime I found out that commenting out Array.toJSON (lines 1061
through 1068) of prototype solves
the problem, because the JSON.stringify method tries to call any toJSON method
provided by JavaScript objects. I
haven't got any more time to investigate, but this should help to solve the
issue.
Original comment by bobo%elb...@gtempaccount.com
on 5 Nov 2009 at 5:17
The same problem. Ubuntu 9.10, Prototype 1.6.1
Original comment by lubos.ra...@gmail.com
on 6 Nov 2009 at 3:04
With mootools 1.2.4 on ubuntu 9.10 similar problem.
It looks bed, js-test-driver not working with few most popular jsframework.
(I've also encounter a problem with jquery when i've tried to use $ not jquery.)
Its a pity because that tool looks very nice.
com.google.gson.JsonParseException: The JsonDeserializer
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@39203412 failed to
deserialized json object
"[{"file":{"fileSrc":"/test//home/sebastian/workspaces/fake/jsTests/lib/mootools
-1.2.4-core-nc.js","timestamp":1262173017000},"success":true,"message":""},{"fil
e":{"fileSrc":"/test//home/sebastian/workspaces/fake/jsTests/lib/mootools-1.2.4.
2-more.js","timestamp":1262102699000},"success":true,"message":""},{"file":{"fil
eSrc":"/test//home/sebastian/workspaces/fake/jsTests/src/Greeter.js","timestamp"
:1261441020000},"success":true,"message":""},{"file":{"fileSrc":"/test//home/seb
astian/workspaces/fake/jsTests/settings/jquery.js","timestamp":1262111120000},"s
uccess":false,"message":"error
loading file:
/test//home/sebastian/workspaces/fake/jsTests/settings/jquery.js:2:
jQuery is
undefined"},{"file":{"fileSrc":"/test//home/sebastian/workspaces/fake/jsTests/sr
c-test/TryTest.js","timestamp":1262175170000},"success":true,"message":""}]"
given the type com.google.gson.ParameterizedTypeImpl@743bd42e
at
com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExc
eptionWrapper.java:63)
at
com.google.gson.JsonObjectDeserializationVisitor.visitFieldUsingCustomHandler(Js
onObjectDeserializationVisitor.java:106)
at com.google.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:135)
at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:116)
at
com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializa
tionContextDefault.java:75)
at
com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializatio
nContextDefault.java:49)
at com.google.gson.Gson.fromJson(Gson.java:373)
at com.google.gson.Gson.fromJson(Gson.java:321)
at com.google.gson.Gson.fromJson(Gson.java:297)
at com.google.jstestdriver.BrowserQueryResponseServlet.service(Unknown Source)
at com.google.jstestdriver.BrowserQueryResponseServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
Caused by: java.lang.ClassCastException: com.google.gson.JsonPrimitive cannot
be cast
to com.google.gson.JsonArray
at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:91)
at
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTyp
eAdapters.java:399)
at
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTyp
eAdapters.java:369)
at
com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExc
eptionWrapper.java:50)
... 23 more
Original comment by sebastia...@gmail.com
on 30 Dec 2009 at 12:22
I'm seeing this issue (with prototype.js) on Mac OS X 10.6.2 with Firefox 3.5.7
as
well. I hope it's not too hard to fix, because I definitely want to start using
this.
Original comment by petterma...@gmail.com
on 8 Jan 2010 at 2:20
The same problem, mootools 1.2.4 + Mac OS 10.6.2 + any browser.
Original comment by kmik...@gmail.com
on 25 Jan 2010 at 4:46
I'm getting the same issue on Windows 7. It's definitely a problem with Google
Gson
library (in the deserialize method in some class implementing
JsonDeserializer<T>
interface).
I can get around the issue by doing the same as 'andreabobobaron' did.
Actually, I
renamed that function to something else (i.e. 'toGSON') and also in the
Object.extend(arrayProto, {....});
Although, we'd like this issue to be solved as is forcing me to rename any
usage of
Array.toJSON in my scripts.
Original comment by benjamin...@gmail.com
on 24 Mar 2010 at 5:25
Hey guys!
I had the same issue today and I figured I'd sniff around and see if I could
fix the
problem. Well! Good news is that I figured out the issue. It's simply a
namespace
issue that messes with the other frameworks. I have it working for both Mootools
1.2.4 and Prototype 1.6.1 (OS shouldn't matter). It's not battle tested or
anything,
but the problem is simple enough to fix so I would assume that my fix will get
rid of
the current problem. This only fixes version 1.2.1 on Linux/Unix+Mac
I'd like to just apply the fix to the repo, but I'm not sure how you would do
that on
for a project hosted by google. I packaged everything in a tar. Unpack the tar
in the
same directory as JsTestDriver-1.2.1.jar and run the fix.sh script. The script
will
make a backup of the original jar file, just in case. You need the jar command
to be
on your path.
Hope this helps someone!
-Reuven
Original comment by somnium...@gmail.com
on 25 Mar 2010 at 5:35
Attachments:
Good spot Reuven!
I've included another version of your fix to be applied in Windows (not a big
deal :) ).
Thanks!
Original comment by benjamin...@gmail.com
on 25 Mar 2010 at 9:16
Attachments:
Hi people!
I tried the fix and works fine, I try loading mootools-1.2.4-core.js under
Linux and works perfectly, now I have a simple question, always I use Eclipse
and Js Test Driver plugin for Eclipse to do tests ... anyone knows if the
plugin support this fix?
Thanks!
Here my config file:
server: http://localhost:9876
load:
- lib/mootools-1.2.4-core.js
- src/*.js
- src-test/*.js
My JS file:
var L = new Class({
initialize : function(log) {
this.log = log;
}
});
Logs = {};
Logs.Search = function() {
this.SEARCH_TYPE = 1;
};
Logs.Search.prototype = {
logs : [],
addLog : function(log) {
var l = new Log(log);
this.logs.push(l);
},
getSearchType : function() {
return this.SEARCH_TYPE;
},
setSearchType : function(type) {
this.SEARCH_TYPE = type;
},
doSearch : function() {
return 'doSearch';
},
find : function() {
return 'find';
}
};
My JS tests file:
LogsTest = TestCase("LogsTest");
LogsTest.prototype.setUp = function() {
this.div = new Element('div', {
id : 'foo'
});
document.id(document.body).adopt(this.div);
};
LogsTest.prototype.testSearchFind = function() {
var Search = new Logs.Search();
assertEquals("find", Search.find());
};
LogsTest.prototype.testSearchDoSearch = function() {
var Search = new Logs.Search();
assertEquals("doSearch", Search.doSearch());
};
LogsTest.prototype.testSearchGetSearchType = function() {
var Search = new Logs.Search();
Search.setSearchType(2);
assertEquals(2, Search.getSearchType());
};
LogsTest.prototype.testDOMFoo = function() {
assertNotNull(document.id('foo'));
};
Original comment by epplestun
on 11 Jun 2010 at 12:43
Another hacky solution which worked because I wasn't testing anything using the
toJSON function.
Config file includes these lines:
load:
- js/scriptaculous/prototype.js
- test/js/prototype_fix_for_jstestdriver.js
where prototype_fix_for_jstestdriver.js:
if (Array.prototype.toJSON) {
delete Array.prototype.toJSON;
}
Fragile and clumsy but it got the job done without hacking jsTestDriver or
prototype
Original comment by julian.b...@gmail.com
on 16 Jun 2010 at 12:40
Hi all,
Since this issue hasn't been solved for version 1.2.2 I've updated the patch.
Regards.
Benjamin Arroyo.
Original comment by benjamin...@gmail.com
on 5 Jul 2010 at 4:36
Attachments:
attached a patch to fix this in the trunk @760
Original comment by willhol...@gmail.com
on 1 Nov 2010 at 9:47
Attachments:
Original comment by corbinrs...@gmail.com
on 5 Jan 2011 at 10:02
Original comment by corbinrs...@gmail.com
on 5 Jan 2011 at 10:03
When trying to use Prototype 1.6.1 with js-test-driver 1.3.1 I'm getting almost
the same error as in the original post
Stack trace:
FINE: sending command
{"command":"loadTest","parameters":["[{\"fileSrc\":\"/test/lib/prototype/prototy
pe.js\",\"timestamp\":1297714089000},{\"fileSrc\":\"/test/src-test/tests.js\",\"
timestamp\":1299360531000}]","false"]}
06.03.2011 9:20:54
com.google.jstestdriver.server.handlers.BrowserQueryResponseHandler
serviceBrowser
FINE: response type: FILE_LOAD_RESULT
06.03.2011 9:20:54 com.google.jstestdriver.requesthandlers.RequestDispatcher
dispatch
SEVERE: Error in request {}
java.lang.RuntimeException: Unable to parse:
{"type":"FILE_LOAD_RESULT","response":"{\"loadedFiles\":\"[{\\\"file\\\":
{\\\"fileSrc\\\": \\\"/test/lib/prototype/prototype.js\\\", \\\"timestamp\\\":
1297714089000}, \\\"success\\\": true, \\\"message\\\": \\\"\\\",
\\\"elapsed\\\": 76}, {\\\"file\\\": {\\\"fileSrc\\\":
\\\"/test/src-test/tests.js\\\", \\\"timestamp\\\": 1299360531000},
\\\"success\\\": true, \\\"message\\\": \\\"\\\", \\\"elapsed\\\":
4}]\"}","browser":{"id":1299396046958}}
at com.google.jstestdriver.server.handlers.BrowserQueryResponseHandler.service(BrowserQueryResponseHandler.java:108)
at com.google.jstestdriver.server.handlers.BrowserQueryResponseHandler.handleIt(BrowserQueryResponseHandler.java:87)
at com.google.jstestdriver.requesthandlers.RequestDispatcher.dispatch(RequestDispatcher.java:68)
at com.google.jstestdriver.requesthandlers.RequestHandlerServlet.service(RequestHandlerServlet.java:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
Caused by: com.google.gson.JsonParseException: The JsonDeserializer
com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@71412b61 failed to
deserialized json object "[{\"file\": {\"fileSrc\":
\"/test/lib/prototype/prototype.js\", \"timestamp\": 1297714089000},
\"success\": true, \"message\": \"\", \"elapsed\": 76}, {\"file\":
{\"fileSrc\": \"/test/src-test/tests.js\", \"timestamp\": 1299360531000},
\"success\": true, \"message\": \"\", \"elapsed\": 4}]" given the type
com.google.gson.ParameterizedTypeImpl@8335d86
at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:63)
at com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:88)
at com.google.gson.JsonObjectDeserializationVisitor.visitFieldUsingCustomHandler(JsonObjectDeserializationVisitor.java:116)
at com.google.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:158)
at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:131)
at com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializationContextDefault.java:73)
at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:51)
at com.google.gson.Gson.fromJson(Gson.java:568)
at com.google.gson.Gson.fromJson(Gson.java:515)
at com.google.gson.Gson.fromJson(Gson.java:484)
at com.google.gson.Gson.fromJson(Gson.java:434)
at com.google.jstestdriver.server.handlers.BrowserQueryResponseHandler.serviceBrowser(BrowserQueryResponseHandler.java:135)
at com.google.jstestdriver.server.handlers.BrowserQueryResponseHandler.service(BrowserQueryResponseHandler.java:104)
... 17 more
Caused by: java.lang.IllegalStateException: This is not a JSON Array.
at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:99)
at com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTypeAdapters.java:544)
at com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTypeAdapters.java:510)
at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:50)
... 29 more
jsTestDriver.js contest:
server: http://localhost:4433
load:
- "lib/prototype/prototype.js"
- "src-test/tests.js"
Content of tests.js
GreeterTest = TestCase("GreeterTest");
GreeterTest.prototype.testGreet = function() {
var array = [1, 1, 1];
array.each(function(el) {
assertEquals(el, 1);
});
};
GreeterTest.prototype.testGreet = function() {
var array = [1, 1, 2];
array.each(function(el) {
assertEquals(el, 1);
});
};
Original comment by andriy.g...@gmail.com
on 6 Mar 2011 at 7:23
Original issue reported on code.google.com by
toni.str...@gmail.com
on 25 Aug 2009 at 1:09