blueloveTH 2 лет назад
Родитель
Сommit
020bd7bd26
2 измененных файлов с 21 добавлено и 21 удалено
  1. 19 19
      include/pocketpy/str.h
  2. 2 2
      tests/80_json.py

+ 19 - 19
include/pocketpy/str.h

@@ -146,25 +146,25 @@ struct SStream{
         return *this;
     }
 
-    // SStream& operator<<(i64 val){
-    //     // str(-2**64).__len__() == 21
-    //     buffer.reserve(buffer.size() + 24);
-    //     if(val == 0){
-    //         buffer.push_back('0');
-    //         return *this;
-    //     }
-    //     if(val < 0){
-    //         buffer.push_back('-');
-    //         val = -val;
-    //     }
-    //     char* begin = buffer.end();
-    //     while(val){
-    //         buffer.push_back('0' + val % 10);
-    //         val /= 10;
-    //     }
-    //     std::reverse(begin, buffer.end());
-    //     return *this;
-    // }
+    SStream& operator<<(i64 val){
+        // str(-2**64).__len__() == 21
+        buffer.reserve(buffer.size() + 24);
+        if(val == 0){
+            buffer.push_back('0');
+            return *this;
+        }
+        if(val < 0){
+            buffer.push_back('-');
+            val = -val;
+        }
+        char* begin = buffer.end();
+        while(val){
+            buffer.push_back('0' + val % 10);
+            val /= 10;
+        }
+        std::reverse(begin, buffer.end());
+        return *this;
+    }
 
     SStream& operator<<(const std::string& s){
         buffer.extend(s.data(), s.data() + s.size());

+ 2 - 2
tests/80_json.py

@@ -33,10 +33,10 @@ _j = json.dumps(a)
 _a = json.loads(_j)
 
 for k, v in a.items():
-    assert a[k] == _a[k]
+    assert (a[k] == _a[k]), f'{a[k]} != {_a[k]}'
 
 for k, v in _a.items():
-    assert a[k] == _a[k]
+    assert (a[k] == _a[k]), f'{a[k]} != {_a[k]}'
 
 b = [1, 2, True, None, False]