Author: fschumacher
Date: Sat Mar 28 17:42:39 2015
New Revision: 1669810
URL: http://svn.apache.org/r1669810
Log:
Don't fail on long strings in JSON responses when formatting them.
Bugzilla Id: 54826
Added:
jmeter/trunk/test/src/org/apache/jmeter/visualizers/TestRenderAsJson.java
Modified:
jmeter/trunk/src/components/org/apache/jmeter/visualizers/RenderAsJSON.java
jmeter/trunk/xdocs/changes.xml
Modified:
jmeter/trunk/src/components/org/apache/jmeter/visualizers/RenderAsJSON.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/RenderAsJSON.java?rev=1669810&r1=1669809&r2=1669810&view=diff
==============================================================================
--- jmeter/trunk/src/components/org/apache/jmeter/visualizers/RenderAsJSON.java
(original)
+++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/RenderAsJSON.java
Sat Mar 28 17:42:39 2015
@@ -31,7 +31,7 @@ public class RenderAsJSON extends Sample
private static final String NORMAL_CHARACTER_REGEX = "[^\"\\\\]"; //
$NON-NLS-1$
- private static final String STRING_REGEX = "\"(" + ESC_CHAR_REGEX + "|" +
NORMAL_CHARACTER_REGEX + ")*\""; // $NON-NLS-1$
+ private static final String STRING_REGEX = "\"(" + ESC_CHAR_REGEX + "|" +
NORMAL_CHARACTER_REGEX + ")*+\""; // $NON-NLS-1$
// This 'other value' regex is deliberately weak, even accepting an empty
string, to be useful when reporting malformed data.
private static final String OTHER_VALUE_REGEX = "[^\\{\\[\\]\\}\\,]*"; //
$NON-NLS-1$
Added: jmeter/trunk/test/src/org/apache/jmeter/visualizers/TestRenderAsJson.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/visualizers/TestRenderAsJson.java?rev=1669810&view=auto
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/visualizers/TestRenderAsJson.java
(added)
+++ jmeter/trunk/test/src/org/apache/jmeter/visualizers/TestRenderAsJson.java
Sat Mar 28 17:42:39 2015
@@ -0,0 +1,68 @@
+package org.apache.jmeter.visualizers;
+
+import java.lang.reflect.Method;
+
+import junit.framework.TestCase;
+
+import org.junit.Test;
+
+public class TestRenderAsJson extends TestCase {
+
+ private Method prettyJSON;
+ private final String TAB = ": ";
+
+ private String prettyJSON(String prettify) throws Exception {
+ return (String) prettyJSON.invoke(null, prettify);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ prettyJSON = RenderAsJSON.class.getDeclaredMethod("prettyJSON",
+ String.class);
+ prettyJSON.setAccessible(true);
+ }
+
+ @Test
+ public void testRenderResultWithLongStringBug54826() throws Exception {
+ StringBuilder json = new StringBuilder();
+ json.append("\"customData\":\"");
+ for (int i = 0; i < 100; i++) {
+ json.append("somenotsorandomtext");
+ }
+ json.append("\"");
+
+ assertEquals("{\n" + TAB + json.toString() + "\n}",
+ prettyJSON("{" + json.toString() + "}"));
+ }
+
+ @Test
+ public void testRenderResultSimpleObject() throws Exception {
+ assertEquals("{\n}", prettyJSON("{}"));
+ }
+
+ @Test
+ public void testRenderResultSimpleArray() throws Exception {
+ assertEquals("[\n]", prettyJSON("[]"));
+ }
+
+ @Test
+ public void testRenderResultSimpleNumber() throws Exception {
+ assertEquals("42", prettyJSON("42"));
+ }
+
+ @Test
+ public void testRenderResultSimpleString() throws Exception {
+ assertEquals("Hello World", prettyJSON("Hello World"));
+ }
+
+ @Test
+ public void testRenderResultSimpleStructur() throws Exception {
+ assertEquals(
+ "{\n" + TAB + "\"Hello\": \"World\", \n" + TAB + "\"more\": \n"
+ + TAB + "[\n" + TAB + TAB + "\"Something\", \n" + TAB
+ + TAB + "\"else\", \n" + TAB + "]\n}",
+ prettyJSON("{\"Hello\": \"World\", \"more\": [\"Something\",
\"else\", ]}"));
+ }
+
+}
Modified: jmeter/trunk/xdocs/changes.xml
URL:
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1669810&r1=1669809&r2=1669810&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml (original)
+++ jmeter/trunk/xdocs/changes.xml Sat Mar 28 17:42:39 2015
@@ -106,6 +106,7 @@ Summary
<h3>General</h3>
<ul>
+ <li><bug>54826</bug>Don't fail on long strings in JSON responses when
displaying them as JSON in View Results Tree.</li>
</ul>
<ch_section>Non-functional changes</ch_section>
<ul>