Permalink
Browse files

Revert "Revert "Revert "Merge pull request #45 from RangelReale/jsonu…

…nicode"""

This reverts commit 86647bd.
  • Loading branch information...
1 parent 86647bd commit 26a480d325a6ebe40f313d9777067438ee214a6d @aleks-f aleks-f committed Dec 30, 2012
Showing with 10 additions and 47 deletions.
  1. +10 −16 JSON/src/Parser.cpp
  2. +0 −30 JSON/testsuite/src/JSONTest.cpp
  3. +0 −1 JSON/testsuite/src/JSONTest.h
View
@@ -38,7 +38,6 @@
#include "Poco/JSON/JSONException.h"
#include "Poco/Ascii.h"
#include "Poco/Token.h"
-#include "Poco/UnicodeConverter.h"
#undef min
#undef max
#include <limits>
@@ -141,28 +140,28 @@ class StringToken: public Token
switch(c)
{
case '"' :
- _value += '"';
+ c = '"';
break;
case '\\' :
- _value += '\\';
+ c = '\\';
break;
case '/' :
- _value += '/';
+ c = '/';
break;
case 'b' :
- _value += '\b';
+ c = '\b';
break;
case 'f' :
- _value += '\f';
+ c = '\f';
break;
case 'n' :
- _value += '\n';
+ c = '\n';
break;
case 'r' :
- _value += '\r';
+ c = '\r';
break;
case 't' :
- _value += '\t';
+ c = '\t';
break;
case 'u' : // Unicode
{
@@ -197,21 +196,16 @@ class StringToken: public Token
{
throw JSONException("Invalid unicode");
}
- //unicode to utf8
- std::string utf8;
- UnicodeConverter::toUTF8((const UTF32Char*)&unicode,1,utf8);
- _value += utf8;
-
+ c = unicode;
break;
}
default:
{
throw JSONException(format("Invalid escape '%c' character used", (char) c));
}
}
- }else{
- _value += c;
}
+ _value += c;
c = istr.get();
}
@@ -859,35 +859,6 @@ void JSONTest::testTemplate()
}
-void JSONTest::testUnicode()
-{
- const unsigned char supp[] = {0x61, 0xE1, 0xE9, 0x78, 0xED, 0xF3, 0xFA, 0x0};
- std::string text((const char*) supp);
-
- std::string json = "{ \"test\" : \"a\u00E1\u00E9x\u00ED\u00F3\u00FA\" }";
- Parser parser;
-
- Var result;
- try
- {
- DefaultHandler handler;
- parser.setHandler(&handler);
- parser.parse(json);
- result = handler.result();
- }
- catch(JSONException& jsone)
- {
- std::cout << jsone.message() << std::endl;
- assert(false);
- }
- assert(result.type() == typeid(Object::Ptr));
-
- Object::Ptr object = result.extract<Object::Ptr>();
- Var test = object->get("test");
- assert(test.convert<std::string>() == text);
-}
-
-
std::string JSONTest::getTestFilesPath(const std::string& type)
{
std::ostringstream ostr;
@@ -947,7 +918,6 @@ CppUnit::Test* JSONTest::suite()
CppUnit_addTest(pSuite, JSONTest, testValidJanssonFiles);
CppUnit_addTest(pSuite, JSONTest, testInvalidJanssonFiles);
CppUnit_addTest(pSuite, JSONTest, testTemplate);
- CppUnit_addTest(pSuite, JSONTest, testUnicode);
return pSuite;
}
@@ -76,7 +76,6 @@ class JSONTest: public CppUnit::TestCase
void testInvalidJanssonFiles();
void testTemplate();
void testItunes();
- void testUnicode();
void setUp();
void tearDown();

0 comments on commit 26a480d

Please sign in to comment.