Hello community,

here is the log from the commit of package python-simplejson for 
openSUSE:Factory checked in at 2017-04-19 18:01:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-simplejson (Old)
 and      /work/SRC/openSUSE:Factory/.python-simplejson.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-simplejson"

Wed Apr 19 18:01:18 2017 rev:34 rq:481829 version:3.10.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-simplejson/python-simplejson.changes      
2016-12-02 16:38:57.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-simplejson.new/python-simplejson.changes 
2017-04-19 18:01:32.600624292 +0200
@@ -1,0 +2,17 @@
+Tue Mar 21 15:56:32 UTC 2017 - jmate...@suse.com
+
+- fix pypi url
+
+-------------------------------------------------------------------
+Thu Mar 16 18:58:42 UTC 2017 - rjsch...@suse.com
+
+- Switch to single-spec build
+- Update to 3.10.0
+  * Add RawJSON class to allow a faster path for already encoded JSON.
+- From 3.9.0
+  * Workaround for bad behavior in string subclasses
+  * Fix warnings flagged by -3
+  * Update readthedocs documentation links
+  * Add build status badge to README
+
+-------------------------------------------------------------------

Old:
----
  simplejson-3.8.2.tar.gz

New:
----
  simplejson-3.10.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-simplejson.spec ++++++
--- /var/tmp/diff_new_pack.3jMc1T/_old  2017-04-19 18:01:35.056276930 +0200
+++ /var/tmp/diff_new_pack.3jMc1T/_new  2017-04-19 18:01:35.060276364 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-simplejson
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,22 +16,20 @@
 #
 
 
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-simplejson
-Version:        3.8.2
+Version:        3.10.0
 Release:        0
-Url:            http://github.com/simplejson/simplejson
 Summary:        Simple, fast, extensible JSON encoder/decoder for Python
 License:        MIT or AFL-2.1
 Group:          Development/Languages/Python
-Source:         
http://pypi.python.org/packages/source/s/simplejson/simplejson-%{version}.tar.gz
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-BuildRequires:  python-devel
-BuildRequires:  python-setuptools
-%if 0%{?suse_version} <= 1110
-%{!?python_sitearch: %global python_sitearch %(python -c "from 
distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
-%else
-%py_requires
-%endif
+Url:            http://github.com/simplejson/simplejson
+Source:         
https://files.pythonhosted.org/packages/source/s/simplejson/simplejson-%{version}.tar.gz
+BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module setuptools}
+BuildRequires:  python-rpm-macros
+
+%python_subpackages
 
 %description
 simplejson is a simple, fast, complete, correct and extensible
@@ -39,22 +37,35 @@
 with no dependencies, but includes an optional C extension for a
 serious speed boost.
 
+%package test
+Summary:        Tests for python-simplejson
+Group:          Development/Languages/Python
+Requires:       %{name} == %{version}
+
+%description test
+Test cases for python-simplejson
+
 %prep
 %setup -q -n simplejson-%{version}
 
 %build
-CFLAGS="%{optflags} -fno-strict-aliasing" python setup.py build
+export CFLAGS="%{optflags} -fno-strict-aliasing"
+%python_build
 
 %install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
 
 %check
-python setup.py test
+%python_exec setup.py test
 
-%files
+%files  %{python_files}
 %defattr(-,root,root)
 %doc CHANGES.txt LICENSE.txt README.rst
-%{python_sitearch}/simplejson/
-%{python_sitearch}/simplejson-%{version}-py%{py_ver}.egg-info
+%exclude %{python_sitearch}/simplejson/tests/*
+%{python_sitearch}/*
+
+%files %{python_files test}
+%defattr(-,root,root)
+%{python_sitearch}/simplejson/tests/*
 
 %changelog

++++++ simplejson-3.8.2.tar.gz -> simplejson-3.10.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/CHANGES.txt 
new/simplejson-3.10.0/CHANGES.txt
--- old/simplejson-3.8.2/CHANGES.txt    2016-02-15 19:02:14.000000000 +0100
+++ new/simplejson-3.10.0/CHANGES.txt   2016-10-28 11:45:34.000000000 +0200
@@ -1,3 +1,19 @@
+Version 3.10.0 released 2016-10-28
+
+* Add RawJSON class to allow a faster path for already encoded JSON.
+  https://github.com/simplejson/simplejson/pull/143
+
+Version 3.9.0 released 2016-10-21
+
+* Workaround for bad behavior in string subclasses
+  https://github.com/simplejson/simplejson/issues/144
+* Fix warnings flagged by -3
+  https://github.com/simplejson/simplejson/pull/146
+* Update readthedocs documentation links
+  https://github.com/simplejson/simplejson/pull/137
+* Add build status badge to README
+  https://github.com/simplejson/simplejson/pull/134
+
 Version 3.8.2 released 2016-02-14
 
 * Fix implicit cast compiler warning in _speedups.c
@@ -318,7 +334,7 @@
 * Force unicode linebreak characters to be escaped (U+2028 and U+2029)
   http://timelessrepo.com/json-isnt-a-javascript-subset
 * Moved documentation from a git submodule to
-  http://simplejson.readthedocs.org/
+  https://simplejson.readthedocs.io/
 
 Version 2.1.6 released 2011-05-08
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/PKG-INFO 
new/simplejson-3.10.0/PKG-INFO
--- old/simplejson-3.8.2/PKG-INFO       2016-02-15 21:18:55.000000000 +0100
+++ new/simplejson-3.10.0/PKG-INFO      2016-10-28 12:01:25.000000000 +0200
@@ -1,18 +1,24 @@
 Metadata-Version: 1.1
 Name: simplejson
-Version: 3.8.2
+Version: 3.10.0
 Summary: Simple, fast, extensible JSON encoder/decoder for Python
 Home-page: http://github.com/simplejson/simplejson
 Author: Bob Ippolito
 Author-email: b...@redivi.com
 License: MIT License
-Description: simplejson is a simple, fast, complete, correct and extensible
+Description: simplejson
+        ----------
+        
+        .. image:: 
https://travis-ci.org/simplejson/simplejson.svg?branch=master
+            :target: https://travis-ci.org/simplejson/simplejson
+        
+        simplejson is a simple, fast, complete, correct and extensible
         JSON <http://json.org> encoder and decoder for Python 2.5+
         and Python 3.3+.  It is pure Python code with no dependencies,
         but includes an optional C extension for a serious speed boost.
         
         The latest documentation for simplejson can be read online here:
-        http://simplejson.readthedocs.org/
+        https://simplejson.readthedocs.io/
         
         simplejson is the externally maintained development version of the
         json library included with Python 2.6 and Python 3.0, but maintains
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/README.rst 
new/simplejson-3.10.0/README.rst
--- old/simplejson-3.8.2/README.rst     2014-07-22 22:36:17.000000000 +0200
+++ new/simplejson-3.10.0/README.rst    2016-10-21 14:48:19.000000000 +0200
@@ -1,10 +1,16 @@
+simplejson
+----------
+
+.. image:: https://travis-ci.org/simplejson/simplejson.svg?branch=master
+    :target: https://travis-ci.org/simplejson/simplejson
+
 simplejson is a simple, fast, complete, correct and extensible
 JSON <http://json.org> encoder and decoder for Python 2.5+
 and Python 3.3+.  It is pure Python code with no dependencies,
 but includes an optional C extension for a serious speed boost.
 
 The latest documentation for simplejson can be read online here:
-http://simplejson.readthedocs.org/
+https://simplejson.readthedocs.io/
 
 simplejson is the externally maintained development version of the
 json library included with Python 2.6 and Python 3.0, but maintains
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/conf.py 
new/simplejson-3.10.0/conf.py
--- old/simplejson-3.8.2/conf.py        2016-02-15 19:02:14.000000000 +0100
+++ new/simplejson-3.10.0/conf.py       2016-10-28 11:25:45.000000000 +0200
@@ -36,15 +36,15 @@
 
 # General substitutions.
 project = 'simplejson'
-copyright = '2015, Bob Ippolito'
+copyright = '2016, Bob Ippolito'
 
 # The default replacements for |version| and |release|, also used in various
 # other places throughout the built documents.
 #
 # The short X.Y version.
-version = '3.8'
+version = '3.10'
 # The full version, including alpha/beta/rc tags.
-release = '3.8.2'
+release = '3.10.0'
 
 # There are two options for replacing |today|: either, you set today to some
 # non-false value, then it is used:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/scripts/artifacts.py 
new/simplejson-3.10.0/scripts/artifacts.py
--- old/simplejson-3.8.2/scripts/artifacts.py   2016-02-15 21:17:38.000000000 
+0100
+++ new/simplejson-3.10.0/scripts/artifacts.py  2016-10-22 01:59:09.000000000 
+0200
@@ -3,9 +3,13 @@
 except ImportError:
     from urllib import urlopen
 
+import glob
 import io
 import json
+import os
+import re
 import subprocess
+import sys
 
 
 def get_json(url):
@@ -36,12 +40,41 @@
     release = get_json(
         'https://api.github.com/repos/simplejson/simplejson/releases/latest')
     for asset in release['assets']:
-        download_file(asset['url'], 'dist/{name}'.format(**asset))
+        download_file(asset['browser_download_url'], 
'dist/{name}'.format(**asset))
 
+def get_version():
+    return subprocess.check_output([sys.executable, 'setup.py', 
'--version']).strip()
+
+def artifact_matcher(version):
+    return 
re.compile('^simplejson-{}.*\\.(exe|whl)$'.format(re.escape(version)))
+
+def sign_artifacts(version):
+    artifacts = set(os.listdir('dist'))
+    pattern = artifact_matcher(version)
+    for fn in artifacts:
+        if pattern.search(fn) and '{}.asc'.format(fn) not in artifacts:
+            sign_artifact(os.path.join('dist', fn))
+
+def sign_artifact(path):
+    print(' '.join(['gpg', '--detach-sign', '-a', path]))
+    subprocess.check_call(['gpg', '--detach-sign', '-a', path])
+
+def upload_artifacts(version):
+    artifacts = set(os.listdir('dist'))
+    pattern = artifact_matcher(version)
+    args = ['twine', 'upload']
+    for fn in artifacts:
+        if pattern.search(fn):
+            filename = os.path.join('dist', fn)
+            args.extend([filename, filename + '.asc'])
+    subprocess.check_call(args)
 
 def main():
     download_appveyor_artifacts()
     download_github_artifacts()
+    version = get_version()
+    sign_artifacts(version)
+    upload_artifacts(version)
 
 
 if __name__ == '__main__':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/setup.py 
new/simplejson-3.10.0/setup.py
--- old/simplejson-3.8.2/setup.py       2016-02-15 19:02:14.000000000 +0100
+++ new/simplejson-3.10.0/setup.py      2016-10-28 11:25:45.000000000 +0200
@@ -11,7 +11,7 @@
     DistutilsPlatformError
 
 IS_PYPY = hasattr(sys, 'pypy_translation_info')
-VERSION = '3.8.2'
+VERSION = '3.10.0'
 DESCRIPTION = "Simple, fast, extensible JSON encoder/decoder for Python"
 
 with open('README.rst', 'r') as f:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/simplejson/__init__.py 
new/simplejson-3.10.0/simplejson/__init__.py
--- old/simplejson-3.8.2/simplejson/__init__.py 2016-02-15 19:02:14.000000000 
+0100
+++ new/simplejson-3.10.0/simplejson/__init__.py        2016-10-28 
11:25:45.000000000 +0200
@@ -97,7 +97,7 @@
     Expecting property name: line 1 column 3 (char 2)
 """
 from __future__ import absolute_import
-__version__ = '3.8.2'
+__version__ = '3.10.0'
 __all__ = [
     'dump', 'dumps', 'load', 'loads',
     'JSONDecoder', 'JSONDecodeError', 'JSONEncoder',
@@ -110,7 +110,7 @@
 
 from .scanner import JSONDecodeError
 from .decoder import JSONDecoder
-from .encoder import JSONEncoder, JSONEncoderForHTML
+from .encoder import JSONEncoder, JSONEncoderForHTML, RawJSON
 def _import_OrderedDict():
     import collections
     try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/simplejson/_speedups.c 
new/simplejson-3.10.0/simplejson/_speedups.c
--- old/simplejson-3.8.2/simplejson/_speedups.c 2016-02-15 19:02:14.000000000 
+0100
+++ new/simplejson-3.10.0/simplejson/_speedups.c        2016-10-28 
11:25:45.000000000 +0200
@@ -245,6 +245,8 @@
 encoder_dealloc(PyObject *self);
 static int
 encoder_clear(PyObject *self);
+static int
+is_raw_json(PyObject *obj);
 static PyObject *
 encoder_stringify_key(PyEncoderObject *s, PyObject *key);
 static int
@@ -277,6 +279,20 @@
 
 #define MIN_EXPANSION 6
 
+static PyObject* RawJSONType;
+static int
+is_raw_json(PyObject *obj)
+{
+    if (RawJSONType == NULL) {
+        PyObject *encoder_module = PyImport_ImportModule("simplejson.encoder");
+        RawJSONType = PyObject_GetAttrString(encoder_module, "RawJSON");
+        Py_DECREF(encoder_module);
+        if (RawJSONType == NULL)
+            return 0;
+    }
+    return PyObject_IsInstance(obj, RawJSONType) ? 1 : 0;
+}
+
 static int
 JSON_Accu_Init(JSON_Accu *acc)
 {
@@ -2868,6 +2884,12 @@
             if (encoded != NULL)
                 rv = _steal_accumulate(rval, encoded);
         }
+        else if (is_raw_json(obj))
+        {
+            PyObject *encoded = PyObject_GetAttrString(obj, "encoded_json");
+            if (encoded != NULL)
+                rv = _steal_accumulate(rval, encoded);
+        }
         else if (PyInt_Check(obj) || PyLong_Check(obj)) {
             PyObject *encoded;
             if (PyInt_CheckExact(obj) || PyLong_CheckExact(obj)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/simplejson/compat.py 
new/simplejson-3.10.0/simplejson/compat.py
--- old/simplejson-3.8.2/simplejson/compat.py   2014-07-22 22:30:14.000000000 
+0200
+++ new/simplejson-3.10.0/simplejson/compat.py  2016-10-21 04:58:09.000000000 
+0200
@@ -15,9 +15,6 @@
     integer_types = (int, long)
     unichr = unichr
     reload_module = reload
-    def fromhex(s):
-        return s.decode('hex')
-
 else:
     PY3 = True
     if sys.version_info[:2] >= (3, 4):
@@ -40,7 +37,4 @@
     def unichr(s):
         return u(chr(s))
 
-    def fromhex(s):
-        return bytes.fromhex(s)
-
 long_type = integer_types[-1]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/simplejson/decoder.py 
new/simplejson-3.10.0/simplejson/decoder.py
--- old/simplejson-3.8.2/simplejson/decoder.py  2014-07-22 22:30:14.000000000 
+0200
+++ new/simplejson-3.10.0/simplejson/decoder.py 2016-10-21 04:58:09.000000000 
+0200
@@ -4,7 +4,7 @@
 import re
 import sys
 import struct
-from .compat import fromhex, b, u, text_type, binary_type, PY3, unichr
+from .compat import b, u, text_type, binary_type, PY3, unichr
 from .scanner import make_scanner, JSONDecodeError
 
 def _import_c_scanstring():
@@ -22,12 +22,16 @@
 FLAGS = re.VERBOSE | re.MULTILINE | re.DOTALL
 
 def _floatconstants():
-    _BYTES = fromhex('7FF80000000000007FF0000000000000')
-    # The struct module in Python 2.4 would get frexp() out of range here
-    # when an endian is specified in the format string. Fixed in Python 2.5+
-    if sys.byteorder != 'big':
-        _BYTES = _BYTES[:8][::-1] + _BYTES[8:][::-1]
-    nan, inf = struct.unpack('dd', _BYTES)
+    if sys.version_info < (2, 6):
+        _BYTES = '7FF80000000000007FF0000000000000'.decode('hex')
+        # The struct module in Python 2.4 would get frexp() out of range here
+        # when an endian is specified in the format string. Fixed in Python 
2.5+
+        if sys.byteorder != 'big':
+            _BYTES = _BYTES[:8][::-1] + _BYTES[8:][::-1]
+        nan, inf = struct.unpack('dd', _BYTES)
+    else:
+        nan = float('nan')
+        inf = float('inf')
     return nan, inf, -inf
 
 NaN, PosInf, NegInf = _floatconstants()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/simplejson/encoder.py 
new/simplejson-3.10.0/simplejson/encoder.py
--- old/simplejson-3.8.2/simplejson/encoder.py  2015-10-27 16:19:00.000000000 
+0100
+++ new/simplejson-3.10.0/simplejson/encoder.py 2016-10-28 11:25:45.000000000 
+0200
@@ -5,7 +5,7 @@
 from operator import itemgetter
 # Do not import Decimal directly to avoid reload issues
 import decimal
-from .compat import u, unichr, binary_type, string_types, integer_types, PY3
+from .compat import u, unichr, binary_type, text_type, string_types, 
integer_types, PY3
 def _import_speedups():
     try:
         from . import _speedups
@@ -39,6 +39,14 @@
 
 FLOAT_REPR = repr
 
+class RawJSON(object):
+    """Wrap an encoded JSON document for direct embedding in the output
+
+    """
+    def __init__(self, encoded_json):
+        self.encoded_json = encoded_json
+
+
 def encode_basestring(s, _PY3=PY3, _q=u('"')):
     """Return a JSON representation of a Python string
 
@@ -46,9 +54,13 @@
     if _PY3:
         if isinstance(s, binary_type):
             s = s.decode('utf-8')
+        if type(s) is not text_type:
+            s = text_type(s)
     else:
         if isinstance(s, str) and HAS_UTF8.search(s) is not None:
             s = s.decode('utf-8')
+        if type(s) not in string_types:
+            s = text_type(s)
     def replace(match):
         return ESCAPE_DCT[match.group(0)]
     return _q + ESCAPE.sub(replace, s) + _q
@@ -61,9 +73,13 @@
     if _PY3:
         if isinstance(s, binary_type):
             s = s.decode('utf-8')
+        if type(s) is not text_type:
+            s = text_type(s)
     else:
         if isinstance(s, str) and HAS_UTF8.search(s) is not None:
             s = s.decode('utf-8')
+        if type(s) not in string_types:
+            s = text_type(s)
     def replace(match):
         s = match.group(0)
         try:
@@ -464,6 +480,8 @@
             if (isinstance(value, string_types) or
                 (_PY3 and isinstance(value, binary_type))):
                 yield buf + _encoder(value)
+            elif isinstance(value, RawJSON):
+                yield buf + value.encoded_json
             elif value is None:
                 yield buf + 'null'
             elif value is True:
@@ -582,6 +600,8 @@
             if (isinstance(value, string_types) or
                 (_PY3 and isinstance(value, binary_type))):
                 yield _encoder(value)
+            elif isinstance(value, RawJSON):
+                yield value.encoded_json
             elif value is None:
                 yield 'null'
             elif value is True:
@@ -624,6 +644,8 @@
         if (isinstance(o, string_types) or
             (_PY3 and isinstance(o, binary_type))):
             yield _encoder(o)
+        elif isinstance(o, RawJSON):
+            yield o.encoded_json
         elif o is None:
             yield 'null'
         elif o is True:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/simplejson/tests/__init__.py 
new/simplejson-3.10.0/simplejson/tests/__init__.py
--- old/simplejson-3.8.2/simplejson/tests/__init__.py   2015-10-27 
16:11:46.000000000 +0100
+++ new/simplejson-3.10.0/simplejson/tests/__init__.py  2016-10-28 
11:25:45.000000000 +0200
@@ -57,6 +57,7 @@
                 'simplejson.tests.test_scanstring',
                 'simplejson.tests.test_separators',
                 'simplejson.tests.test_speedups',
+                'simplejson.tests.test_str_subclass',
                 'simplejson.tests.test_unicode',
                 'simplejson.tests.test_decimal',
                 'simplejson.tests.test_tuple',
@@ -64,6 +65,7 @@
                 'simplejson.tests.test_tool',
                 'simplejson.tests.test_for_json',
                 'simplejson.tests.test_subclass',
+                'simplejson.tests.test_raw_json',
             ]))
     suite = get_suite()
     import simplejson
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/simplejson/tests/test_raw_json.py 
new/simplejson-3.10.0/simplejson/tests/test_raw_json.py
--- old/simplejson-3.8.2/simplejson/tests/test_raw_json.py      1970-01-01 
01:00:00.000000000 +0100
+++ new/simplejson-3.10.0/simplejson/tests/test_raw_json.py     2016-10-28 
11:25:45.000000000 +0200
@@ -0,0 +1,47 @@
+import unittest
+import simplejson as json
+
+dct1 = {
+    'key1': 'value1'
+}
+
+dct2 = {
+    'key2': 'value2',
+    'd1': dct1
+}
+
+dct3 = {
+    'key2': 'value2',
+    'd1': json.dumps(dct1)
+}
+
+dct4 = {
+    'key2': 'value2',
+    'd1': json.RawJSON(json.dumps(dct1))
+}
+
+
+class TestRawJson(unittest.TestCase):
+
+    def test_normal_str(self):
+        self.assertNotEqual(json.dumps(dct2), json.dumps(dct3))
+
+    def test_raw_json_str(self):
+        self.assertEqual(json.dumps(dct2), json.dumps(dct4))
+        self.assertEqual(dct2, json.loads(json.dumps(dct4)))
+
+    def test_list(self):
+        self.assertEqual(
+            json.dumps([dct2]),
+            json.dumps([json.RawJSON(json.dumps(dct2))]))
+        self.assertEqual(
+            [dct2],
+            json.loads(json.dumps([json.RawJSON(json.dumps(dct2))])))
+
+    def test_direct(self):
+        self.assertEqual(
+            json.dumps(dct2),
+            json.dumps(json.RawJSON(json.dumps(dct2))))
+        self.assertEqual(
+            dct2,
+            json.loads(json.dumps(json.RawJSON(json.dumps(dct2)))))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/simplejson-3.8.2/simplejson/tests/test_str_subclass.py 
new/simplejson-3.10.0/simplejson/tests/test_str_subclass.py
--- old/simplejson-3.8.2/simplejson/tests/test_str_subclass.py  1970-01-01 
01:00:00.000000000 +0100
+++ new/simplejson-3.10.0/simplejson/tests/test_str_subclass.py 2016-10-21 
09:50:00.000000000 +0200
@@ -0,0 +1,16 @@
+from unittest import TestCase
+
+import simplejson
+from simplejson.compat import text_type, u
+
+# Tests for issue demonstrated in 
https://github.com/simplejson/simplejson/issues/144
+class WonkyTextSubclass(text_type):
+    def __getslice__(self, start, end):
+        return self.__class__('not what you wanted!')
+
+class TestStrSubclass(TestCase):
+    def test_dump_load(self):
+        for s in ['', '"hello"', 'text', u('\u005c')]:
+            self.assertEqual(
+                s,
+                simplejson.loads(simplejson.dumps(WonkyTextSubclass(s))))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/simplejson.egg-info/PKG-INFO 
new/simplejson-3.10.0/simplejson.egg-info/PKG-INFO
--- old/simplejson-3.8.2/simplejson.egg-info/PKG-INFO   2016-02-15 
21:18:55.000000000 +0100
+++ new/simplejson-3.10.0/simplejson.egg-info/PKG-INFO  2016-10-28 
12:01:25.000000000 +0200
@@ -1,18 +1,24 @@
 Metadata-Version: 1.1
 Name: simplejson
-Version: 3.8.2
+Version: 3.10.0
 Summary: Simple, fast, extensible JSON encoder/decoder for Python
 Home-page: http://github.com/simplejson/simplejson
 Author: Bob Ippolito
 Author-email: b...@redivi.com
 License: MIT License
-Description: simplejson is a simple, fast, complete, correct and extensible
+Description: simplejson
+        ----------
+        
+        .. image:: 
https://travis-ci.org/simplejson/simplejson.svg?branch=master
+            :target: https://travis-ci.org/simplejson/simplejson
+        
+        simplejson is a simple, fast, complete, correct and extensible
         JSON <http://json.org> encoder and decoder for Python 2.5+
         and Python 3.3+.  It is pure Python code with no dependencies,
         but includes an optional C extension for a serious speed boost.
         
         The latest documentation for simplejson can be read online here:
-        http://simplejson.readthedocs.org/
+        https://simplejson.readthedocs.io/
         
         simplejson is the externally maintained development version of the
         json library included with Python 2.6 and Python 3.0, but maintains
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simplejson-3.8.2/simplejson.egg-info/SOURCES.txt 
new/simplejson-3.10.0/simplejson.egg-info/SOURCES.txt
--- old/simplejson-3.8.2/simplejson.egg-info/SOURCES.txt        2016-02-15 
21:18:55.000000000 +0100
+++ new/simplejson-3.10.0/simplejson.egg-info/SOURCES.txt       2016-10-28 
12:01:25.000000000 +0200
@@ -40,10 +40,12 @@
 simplejson/tests/test_pass1.py
 simplejson/tests/test_pass2.py
 simplejson/tests/test_pass3.py
+simplejson/tests/test_raw_json.py
 simplejson/tests/test_recursion.py
 simplejson/tests/test_scanstring.py
 simplejson/tests/test_separators.py
 simplejson/tests/test_speedups.py
+simplejson/tests/test_str_subclass.py
 simplejson/tests/test_subclass.py
 simplejson/tests/test_tool.py
 simplejson/tests/test_tuple.py


Reply via email to