Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Cpanel-JSON-XS for 
openSUSE:Factory checked in at 2023-07-12 17:27:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new.8922 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Cpanel-JSON-XS"

Wed Jul 12 17:27:04 2023 rev:38 rq:1098169 version:4.37

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS/perl-Cpanel-JSON-XS.changes  
2023-03-10 22:09:06.605605104 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new.8922/perl-Cpanel-JSON-XS.changes
        2023-07-12 17:27:28.434553709 +0200
@@ -1,0 +2,11 @@
+Wed Jul  5 03:06:14 UTC 2023 - Tina Müller <[email protected]>
+
+- updated to 4.37
+   see /usr/share/doc/packages/perl-Cpanel-JSON-XS/Changes
+
+  4.37 2023-07-04 (rurban)
+          - Fix NAN/INF for AIX (Tux: AIX-5.3, tested by XSven on AIX-7.3) GH 
#165
+          - Fix empty string result in object stringification (PR #221 jixam)
+          - Allow \' in strings when allow_singlequote is enabled (PR #217 
warpspin)
+
+-------------------------------------------------------------------

Old:
----
  Cpanel-JSON-XS-4.36.tar.gz

New:
----
  Cpanel-JSON-XS-4.37.tar.gz

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

Other differences:
------------------
++++++ perl-Cpanel-JSON-XS.spec ++++++
--- /var/tmp/diff_new_pack.KhoK18/_old  2023-07-12 17:27:29.074558139 +0200
+++ /var/tmp/diff_new_pack.KhoK18/_new  2023-07-12 17:27:29.082558195 +0200
@@ -18,7 +18,7 @@
 
 %define cpan_name Cpanel-JSON-XS
 Name:           perl-Cpanel-JSON-XS
-Version:        4.36
+Version:        4.37
 Release:        0
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Summary:        CPanel fork of JSON::XS, fast and correct serializing
@@ -49,7 +49,7 @@
 %prep
 %autosetup  -n %{cpan_name}-%{version}
 
-find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path 
"*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644
+find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path 
"*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod 
644
 
 %build
 perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"

++++++ Cpanel-JSON-XS-4.36.tar.gz -> Cpanel-JSON-XS-4.37.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.36/Changes 
new/Cpanel-JSON-XS-4.37/Changes
--- old/Cpanel-JSON-XS-4.36/Changes     2023-03-02 16:10:08.000000000 +0100
+++ new/Cpanel-JSON-XS-4.37/Changes     2023-07-04 12:31:38.000000000 +0200
@@ -2,6 +2,11 @@
 
 TODO: http://stevehanov.ca/blog/index.php?id=104 compression
 
+4.37 2023-07-04 (rurban)
+        - Fix NAN/INF for AIX (Tux: AIX-5.3, tested by XSven on AIX-7.3) GH 
#165
+        - Fix empty string result in object stringification (PR #221 jixam)
+        - Allow \' in strings when allow_singlequote is enabled (PR #217 
warpspin)
+
 4.36 2023-03-02 (rurban)
         - remove the SAVESTACK_POS noop. Merged from JSON-XS-3.02,
           removed there with 4.0. requested to remove with
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.36/META.json 
new/Cpanel-JSON-XS-4.37/META.json
--- old/Cpanel-JSON-XS-4.36/META.json   2023-03-02 16:11:02.000000000 +0100
+++ new/Cpanel-JSON-XS-4.37/META.json   2023-07-04 12:35:22.000000000 +0200
@@ -4,7 +4,7 @@
       "Reini Urban <[email protected]>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter 
version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "perl_5"
    ],
@@ -100,7 +100,7 @@
          "url" : "https://github.com/rurban/Cpanel-JSON-XS";
       }
    },
-   "version" : "4.36",
+   "version" : "4.37",
    "x_contributors" : [
       "Ashley Willis <[email protected]>",
       "Chip Salzenberg <[email protected]>",
@@ -127,5 +127,5 @@
       "Syohei Yoshida <[email protected]>",
       "tevfik1903 <[email protected]>"
    ],
-   "x_serialization_backend" : "JSON::PP version 2.97001"
+   "x_serialization_backend" : "JSON::PP version 4.16"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.36/META.yml 
new/Cpanel-JSON-XS-4.37/META.yml
--- old/Cpanel-JSON-XS-4.36/META.yml    2023-03-02 16:11:02.000000000 +0100
+++ new/Cpanel-JSON-XS-4.37/META.yml    2023-07-04 12:35:21.000000000 +0200
@@ -22,7 +22,7 @@
   Config: '0'
   ExtUtils::MakeMaker: '0'
 dynamic_config: 0
-generated_by: 'ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -48,7 +48,7 @@
   bugtracker: https://github.com/rurban/Cpanel-JSON-XS/issues
   license: http://dev.perl.org/licenses/
   repository: https://github.com/rurban/Cpanel-JSON-XS
-version: '4.36'
+version: '4.37'
 x_contributors:
   - 'Ashley Willis <[email protected]>'
   - 'Chip Salzenberg <[email protected]>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.36/README 
new/Cpanel-JSON-XS-4.37/README
--- old/Cpanel-JSON-XS-4.36/README      2023-03-02 16:11:03.000000000 +0100
+++ new/Cpanel-JSON-XS-4.37/README      2023-07-04 12:35:22.000000000 +0200
@@ -185,9 +185,9 @@
     - common::sense is optional. When available it is not used in the
     published production module, just during development and testing.
 
-    - extended testsuite, passes all http://seriot.ch/parsing_json.html
-    tests. In fact it is the only know JSON decoder which does so, while
-    also being the fastest.
+    - extended testsuite, passes all
+    http://seriot.ch/projects/parsing_json.html tests. In fact it is the
+    only know JSON decoder which does so, while also being the fastest.
 
     - support many more options and methods from JSON::PP: stringify_infnan,
     allow_unknown, allow_stringify, allow_barekey, encode_stringify,
@@ -579,9 +579,10 @@
         *   allow_dupkeys
 
             Allow decoding of duplicate keys in hashes. By default duplicate
-            keys are forbidden. See <http://seriot.ch/parsing_json.php#24>:
-            RFC 7159 section 4: "The names within an object should be
-            unique." See the "allow_dupkeys" option.
+            keys are forbidden. See
+            <http://seriot.ch/projects/parsing_json.php#24>: RFC 7159
+            section 4: "The names within an object should be unique." See
+            the "allow_dupkeys" option.
 
     $json = $json->canonical ([$enable])
     $enabled = $json->get_canonical
@@ -768,8 +769,8 @@
         JSON in Perl silently ignores duplicate names, using the last value
         found.
 
-        See <http://seriot.ch/parsing_json.php#24>: RFC 7159 section 4: "The
-        names within an object should be unique."
+        See <http://seriot.ch/projects/parsing_json.php#24>: RFC 7159
+        section 4: "The names within an object should be unique."
 
     $json = $json->dupkeys_as_arrayref ([$enable])
     $enabled = $json->get_dupkeys_as_arrayref
@@ -1897,8 +1898,8 @@
     (modulo bugs, but "JSON::XS" has found more bugs in the official JSON
     testsuite (1) than the official JSON testsuite has found in "JSON::XS"
     (0)). "Cpanel::JSON::XS" is currently the only known JSON decoder which
-    passes all <http://seriot.ch/parsing_json.html> tests, while being the
-    fastest also.
+    passes all <http://seriot.ch/projects/parsing_json.html> tests, while
+    being the fastest also.
 
     When you have trouble decoding JSON generated by this module using other
     decoders, then it is very likely that you have an encoding mismatch or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.36/SIGNATURE 
new/Cpanel-JSON-XS-4.37/SIGNATURE
--- old/Cpanel-JSON-XS-4.36/SIGNATURE   2023-03-02 16:11:03.000000000 +0100
+++ new/Cpanel-JSON-XS-4.37/SIGNATURE   2023-07-04 12:35:22.000000000 +0200
@@ -20,14 +20,14 @@
 SHA256 a3c34aba52e269e6cec558ecf9cff393138574189fdff26b183bee9cc2e0434f 
.travis.yml
 SHA256 c3f2a1a4f66382f796f71a571946722edba53cf3238152b26fd325f4c2f1a20f 
.whitesource
 SHA256 8de3540a3cd7ecc9a9dcb48975fe852c082fe17d4462f87bb72aa7cc47f083ad COPYING
-SHA256 c758c617ed05c8a91a7336adbe53d79e4885f01a06fe84a1e48c42976a03f39e Changes
+SHA256 a0c1df3ac89bec04046fe55c39cd20773a4d6f104e76508ef2c688dfc3db6dfa Changes
 SHA256 a5378ebe65273d49047a21e94af087f70a303793ffed2a695c800ed965ac185d 
MANIFEST
-SHA256 051f716a2ea09f494bb2ea55a307b8bf84203eb86974a58e7ada4dd998403f7a 
META.json
-SHA256 7e5f8393bdeafee479589ce902bac4c1ec8562266307f4456ff232db7c104aa6 
META.yml
+SHA256 ec3a3db51c59096cc14f7712986e3ab2e4027a40f3cc1faf9be69553c172e32c 
META.json
+SHA256 c76fb8cf23082da8da4f9ffff46a25501af0c2769a6dbf9fbeeaf0f32d536b0a 
META.yml
 SHA256 31d74c68c91639bc34e18541091616d226713c6c49168d42eefab58535f5cd4a 
Makefile.PL
-SHA256 9b6c604a239d0b8159655a2ccd5eec24298d9c3fb01fc516351129c4cd72578d README
-SHA256 c7f77033e88631292eb7eb75bce4d4bdfee700b83ede48d996a4dade5e3fd69e XS.pm
-SHA256 45dfa817ab8abe2eec0e814ef84016fb746d33543b2ec0f4b5cc88fc9a94b49f XS.xs
+SHA256 2eb1d8124526462c3afb4089a09a36d2e22da1b931a859f1ec06bec81d8a4245 README
+SHA256 cf86fbae8a2abeadbd634c40b126f390077dd4a97bd54e2a8ec7311e9e9d71ae XS.pm
+SHA256 21e00e79d18a7320df51dbc7a053052602d30659475a95bbbd366cb1d61a3f21 XS.xs
 SHA256 c95e4b970183cbd6d1ec9c88c37a80f12bd2b66ed6be3c008ffd578d2f622c01 
XS/Boolean.pm
 SHA256 20596259e7e399ed1984a469a9a907be878499406d5285a11f1ab98f93aff44f 
XS/Type.pm
 SHA256 2f34a530b7ce981b0df9aacd2b6944ccf74c4a7f8bb49fde57b342663e7feb26 
bin/cpanel_json_xs
@@ -47,7 +47,7 @@
 SHA256 f177821982876d02403298d44ffe4e2193fdcd70b76da252b055f3eab8dd3cdf 
t/104_sortby.t
 SHA256 e8bf435b08bfd00e6ab7f278c6ce68ef8691011b80615fa372961f2d807f5c76 
t/105_esc_slash.t
 SHA256 8549eb57bd2ac40cbe57d8441f9188210ef0894c76626e3052ac40302f4f52a4 
t/106_allow_barekey.t
-SHA256 e267f630d9dd7001eb03a620d34782cd15f74548869971a37980293b137824f9 
t/107_allow_singlequote.t
+SHA256 16f34295a33f59b8fe7a4f70b701df03fc866d77eac300ca0503a98875675569 
t/107_allow_singlequote.t
 SHA256 f2047975a3b8392feb6a87d782ecc7746ae2117bde57f716cc90877c8850f2e0 
t/108_decode.t
 SHA256 e6f7738431bc8d77ad0b8ad2db9ab54426f7bbc86eb5f5794b1a4616f454baef 
t/109_encode.t
 SHA256 d6c467d647ab46c64734d6c6913ff262e854e00073a804da186caf894c5367d0 
t/10_pc_keysort.t
@@ -57,14 +57,14 @@
 SHA256 89a6817b7b7ad584200b65c4b17e0c3960637162308d7bfd6d74756754235cc5 
t/114_decode_prefix.t
 SHA256 d8fc2223d440343e68c2c4bb0a62b191c468f9c42b4ef0a361219baf9449b36a 
t/115_tie_ixhash.t
 SHA256 5a7c6c338b74f6f272510723f0605d09c16deba3922e2b29cb4b057d5d6b2bc4 
t/116_incr_parse_fixed.t
-SHA256 08ad2b745ea647529d043e1932c560d70a2655de8749ea473288a747d86284e6 
t/117_numbers.t
+SHA256 cd69ce6908281737a22df45ce40e0cca3080312faa666ef68701c33fefc145c9 
t/117_numbers.t
 SHA256 34a7fd54a9c17af5bc643bf237d334b9f664c4af9fc699e8af2d6347696ef13e 
t/118_type.t
 SHA256 5f4f0f1d4221f5b5c28c1988f4d127462a42f36ae82fedd7319c8e0fbfbd57eb 
t/119_type_decode.t
 SHA256 8f0f898f0499424740eea5e2537e97faee949b1e3981a1588b1a61645d942d3c 
t/11_pc_expo.t
 SHA256 67295534f9f44b6c2fd9375a4baff3b959318ce2468d466204efd1aeb8caadae 
t/120_type_all_string.t
 SHA256 af3adbcc14e32df9fc2ef3f9a1502c1335a9e2da36ac54119be1f98fcabb4264 
t/121_memleak.t
 SHA256 782bc33e7b6e46d42a168713b0828db134c7885f67fdd35ac53619ba6476aef6 
t/125_shared_boolean.t
-SHA256 c9d8346f43da22bef00a08cb3064f699316daa1593432193b742d13d08fad9a8 
t/12_blessed.t
+SHA256 a1249dee56939f6577f385b1b5942f57009f1b5bd1d785616bc62802146f41ec 
t/12_blessed.t
 SHA256 43a8dfc79182d0ea1462e9266bad1197bc172a9698c0fd002a8e9b0324112ca7 
t/13_limit.t
 SHA256 99275341c61a98875e26651c858941a299bf6a6fb99a2d60e04d22395b69e3fb 
t/14_latin1.t
 SHA256 7fb98299aabdc98c4e83404d8fb663d357f815d8dc524406c79b1fd1827531e4 
t/15_prefix.t
@@ -446,12 +446,12 @@
 SHA256 aca6f846869ab2e4881e807739086e1535b1438bd0e23d7a021360742736a6a9 
xt/pod.t
 -----BEGIN PGP SIGNATURE-----
 
-iQEzBAEBAwAdFiEEKJWogdNCcPq/6PdHtPYzOeZdZBQFAmQAvIYACgkQtPYzOeZd
-ZBQwPwgAgA86wo17rW1Gq+FdV026u7rPsTAPGqHFwu6KvsQ69hbJgMZ3GoYgBpde
-SR4con8eXLodMjInM0yYuZst05ukJhDf106QBlBUPNnU3DVLdroVLdmxscKkmTFQ
-GLTEJvxKAvCeUS5GkTTnCh0a4E0azWVXQFTWyCaXH2hmRAggmoQ65Ri2+QSBixgp
-wzacTtUXYxOz8G4ft/y4S8kkbL/BdTtIHds4KDa32kBNXabqTLsuq3Ri9ueiaXe8
-SS3lk8DL/a2dM16DuP/NNKXh8jCarwvo/6q+JO98Dw2uAXo4qzqFc56oy/Nlg7sy
-7BFJd0oTKnjspdwVeQ4kW+PyMx9R4A==
-=fF9I
+iQEzBAEBAwAdFiEEKJWogdNCcPq/6PdHtPYzOeZdZBQFAmSj9eoACgkQtPYzOeZd
+ZBTP2wf8DlABhDoQ9mJCIILTVANIlJzE4HcTDwVczvLVSo9q7nBkuRC0HQoh8tfg
+vl6zPgFLNEpjES2kYUQsjNxdrOJ06lB1n2Bm5G3BrSxCHg5oEQ5RPukDcTbWF1Mx
+6uZvtUWCoP5lsUdJ5QqM4fhNDf9iXkY+14EZGMwPj2ia07gkbo7vf2v6vpSIvmze
+dKRP7finLl+mPpBTXZtJ6REva/Ip5BFfxKdCpbVqOSmcCJ3bBkw1MT4UDalhmr9n
+3bOliBpZa2Wx12jWk6Iewqw68p+jCjT6dNmA1Q3Ct+ii9ihYkVuCV6vGY1WCHpCl
+C4xy/13TfjfQ5ZjfhVOeXF8OAHiIrA==
+=bfLU
 -----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.36/XS.pm 
new/Cpanel-JSON-XS-4.37/XS.pm
--- old/Cpanel-JSON-XS-4.36/XS.pm       2023-03-02 16:10:08.000000000 +0100
+++ new/Cpanel-JSON-XS-4.37/XS.pm       2023-07-04 12:31:38.000000000 +0200
@@ -1,5 +1,5 @@
 package Cpanel::JSON::XS;
-our $VERSION = '4.36';
+our $VERSION = '4.37';
 our $XS_VERSION = $VERSION;
 # $VERSION = eval $VERSION;
 
@@ -198,7 +198,7 @@
 - common::sense is optional. When available it is not used in the
   published production module, just during development and testing.
 
-- extended testsuite, passes all http://seriot.ch/parsing_json.html
+- extended testsuite, passes all http://seriot.ch/projects/parsing_json.html
   tests.  In fact it is the only know JSON decoder which does so,
   while also being the fastest.
 
@@ -670,7 +670,7 @@
 =item * allow_dupkeys
 
 Allow decoding of duplicate keys in hashes. By default duplicate keys are 
forbidden.
-See L<http://seriot.ch/parsing_json.php#24>:
+See L<http://seriot.ch/projects/parsing_json.php#24>:
 RFC 7159 section 4: "The names within an object should be unique."
 See the C<allow_dupkeys> option.
 
@@ -890,7 +890,7 @@
 JSON in Perl silently ignores duplicate names, using the last value
 found.
 
-See L<http://seriot.ch/parsing_json.php#24>:
+See L<http://seriot.ch/projects/parsing_json.php#24>:
 RFC 7159 section 4: "The names within an object should be unique."
 
 =item $json = $json->dupkeys_as_arrayref ([$enable])
@@ -2093,7 +2093,7 @@
 official JSON testsuite (1) than the official JSON testsuite has found
 in C<JSON::XS> (0)).
 C<Cpanel::JSON::XS> is currently the only known JSON decoder which passes all
-L<http://seriot.ch/parsing_json.html> tests, while being the fastest also.
+L<http://seriot.ch/projects/parsing_json.html> tests, while being the fastest 
also.
 
 When you have trouble decoding JSON generated by this module using other
 decoders, then it is very likely that you have an encoding mismatch or the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.36/XS.xs 
new/Cpanel-JSON-XS-4.37/XS.xs
--- old/Cpanel-JSON-XS-4.36/XS.xs       2023-03-02 16:10:08.000000000 +0100
+++ new/Cpanel-JSON-XS-4.37/XS.xs       2023-07-04 12:27:51.000000000 +0200
@@ -88,15 +88,17 @@
 #define HAVE_NEG_NAN
 #define STR_NEG_INF "---"
 #define STR_NEG_NAN "?"
-#elif defined(_AIX)
+#elif defined(_AIX) || defined(_AIX50)
 /* xlC compiler: __TOS_AIX__ FIXME: This does not work yet. GH #165 */
-#define STR_INF "INF.0"
-#define STR_INF2 "-INF.0"
+#define STR_INF "INF"
+#define STR_INF2 "INF.0"
+#define HAVE_NEG_NAN
+#define STR_NEG_INF "-INF"
 #define HAVE_NEG_NAN
 #define HAVE_QNAN
 #define STR_NAN "NaN"
-//#define STR_QNAN "NaNQ"
-#define STR_QNAN "NANQ"
+#define STR_QNAN "NaNQ"
+//#define STR_QNAN "NANQ"
 #else
 #define STR_INF "inf"
 #define STR_NAN "nan"
@@ -1588,7 +1590,7 @@
       str = SvPVutf8_force(pv, len);
     }
 #endif
-    if (!len) {
+    if (!len && !SvOBJECT (sv)) {
       encode_const_str (aTHX_ enc, "null", 4, 0);
       SvREFCNT_dec(pv);
       return;
@@ -2219,6 +2221,9 @@
             }
 #endif
 
+/* #if defined(_AIX) || defined(_AIX50)
+ * (void)fprintf (stderr, "#|# >%s<\n", enc->cur);
+ * #endif */
 #ifdef STR_INF4
           if (UNLIKELY(strEQc(enc->cur, STR_INF)
                        || strEQc(enc->cur, STR_INF2)
@@ -2237,6 +2242,13 @@
           else if (UNLIKELY(strEQc(enc->cur, STR_NEG_NAN)))
             inf_or_nan = 3;
 #endif
+#if defined(_AIX) || defined(_AIX50)
+          else if (UNLIKELY(strEQc(enc->cur, STR_INF)
+                         || strEQc(enc->cur, STR_INF2)))
+            inf_or_nan = 1;
+          else if (UNLIKELY(strEQc(enc->cur, STR_NEG_INF)))
+            inf_or_nan = 2;
+#endif
           else if
 #ifdef HAVE_QNAN
 # ifdef STR_QNAN2
@@ -3377,7 +3389,16 @@
                   case 'n': ++dec_cur; *cur++ = '\012'; break;
                   case 'f': ++dec_cur; *cur++ = '\014'; break;
                   case 'r': ++dec_cur; *cur++ = '\015'; break;
-
+                  case '\'':
+                    {
+                      if( dec->json.flags & F_ALLOW_SQUOTE ) {
+                        *cur++ = *dec_cur++;
+                      } else {
+                        --dec_cur;
+                        ERR ("illegal backslash escape sequence in string");
+                      }
+                      break;
+                    }
                   case 'x':
                    {
                      UV c;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.36/t/107_allow_singlequote.t 
new/Cpanel-JSON-XS-4.37/t/107_allow_singlequote.t
--- old/Cpanel-JSON-XS-4.36/t/107_allow_singlequote.t   2020-10-27 
18:29:11.000000000 +0100
+++ new/Cpanel-JSON-XS-4.37/t/107_allow_singlequote.t   2023-06-19 
17:54:15.000000000 +0200
@@ -1,5 +1,5 @@
 
-use Test::More tests => 8;
+use Test::More tests => 10;
 use strict;
 use Cpanel::JSON::XS;
 #########################
@@ -10,6 +10,9 @@
 ok($@, "error $@"); # in XS and PP, the error message differs.
 # '"' expected, at character offset 1 (before "'foo':'bar'}")
 
+eval q| $json->decode(qq[{"foo":'"ba\'r"}]) |;
+ok($@, "error $@");
+
 $json->allow_singlequote;
 
 is($json->decode(q|{'foo':"bar"}|)->{foo}, 'bar');
@@ -18,6 +21,8 @@
 
 is($json->decode(q|{'foo baz':'bar'}|)->{"foo baz"}, 'bar');
 
+is($json->decode(q|{'foo baz':'ba\'r'}|)->{"foo baz"}, q[ba'r]);
+
 # GH 54 from Locale::Wolowitz
 is($json->decode(q|{xo:"how's it hangin 1"}|)->{"xo"}, q(how's it hangin 1));
 $json->allow_barekey(0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.36/t/117_numbers.t 
new/Cpanel-JSON-XS-4.37/t/117_numbers.t
--- old/Cpanel-JSON-XS-4.36/t/117_numbers.t     2020-10-27 18:39:10.000000000 
+0100
+++ new/Cpanel-JSON-XS-4.37/t/117_numbers.t     2023-06-19 17:54:15.000000000 
+0200
@@ -21,7 +21,7 @@
 my ($inf, $nan) =
   ($^O eq 'MSWin32') ? ('1.#INF','1.#QNAN') :
   ($^O eq 'solaris') ? ('Infinity','NaN') :
-  ($^O eq 'aix')     ? ('inf','NANQ') :
+  ($^O eq 'aix')     ? ('INF','NaNQ') :
   ($^O eq 'hpux')    ? ('++','-?') :
                        ('inf','nan');
 my $neg_nan =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.36/t/12_blessed.t 
new/Cpanel-JSON-XS-4.37/t/12_blessed.t
--- old/Cpanel-JSON-XS-4.36/t/12_blessed.t      2023-02-22 16:39:16.000000000 
+0100
+++ new/Cpanel-JSON-XS-4.37/t/12_blessed.t      2023-06-19 17:54:15.000000000 
+0200
@@ -1,10 +1,14 @@
 use strict;
 use Cpanel::JSON::XS;
-use Test::More tests => 23;
+use Test::More tests => 24;
 
 package ZZ;
 use overload ('""' => sub { "<ZZ:".${$_[0]}.">" } );
 
+package Verbatim;
+use overload ('""' => sub { ${$_[0]} } );
+
+
 package main;
 sub XX::TO_JSON { {"__",""} }
 
@@ -12,6 +16,7 @@
 my $o2 = bless \(my $dummy1 = 1), "YY"; # without stringification
 my $o3 = bless \(my $dummy2 = 1), "ZZ"; # with stringification
 my $o4 = bless \(my $dummy3 = "\x{1f603}"), "ZZ"; # with stringification 
Unicode
+my $o5 = bless \(my $dummy4 = ""), "Verbatim"; # with stringification empty 
string result
 
 if (eval 'require Hash::Util') {
   if ($Hash::Util::VERSION > 0.05) {
@@ -43,6 +48,8 @@
   ok ($r eq '"<ZZ:1>"', "stringify overload with convert_blessed: $r / $o3");
   $r = $js->encode ($o4);
   ok ($r eq "\"<ZZ:\x{1f603}>\"", "stringify overload Unicode with 
convert_blessed");
+  $r = $js->encode ($o5);
+  ok ($r eq "\"\"", "stringify overload empty string result with 
convert_blessed");
 }
 
 $js = Cpanel::JSON::XS->new;

Reply via email to