BLUELOVETH 2 lat temu
rodzic
commit
7aa42e85c4
2 zmienionych plików z 21 dodań i 6 usunięć
  1. 5 5
      src/pocketpy.cpp
  2. 16 1
      tests/80_json.py

+ 5 - 5
src/pocketpy.cpp

@@ -683,7 +683,7 @@ void init_builtins(VM* _vm) {
         ss << '[';
         for(int i=0; i<iterable.size(); i++){
             ss << CAST(Str&, vm->py_repr(iterable[i]));
-            if(i != iterable.size()) ss << ',';
+            if(i != iterable.size()-1) ss << ", ";
         }
         ss << ']';
         return VAR(ss.str());
@@ -695,7 +695,7 @@ void init_builtins(VM* _vm) {
         ss << '[';
         for(int i=0; i<iterable.size(); i++){
             ss << CAST(Str&, vm->py_json(iterable[i]));
-            if(i != iterable.size()) ss << ',';
+            if(i != iterable.size()-1) ss << ", ";
         }
         ss << ']';
         return VAR(ss.str());
@@ -710,8 +710,8 @@ void init_builtins(VM* _vm) {
             ss << ',';
         }else{
             for(int i=0; i<iterable.size(); i++){
-                ss << vm->py_repr(iterable[i]);
-                if(i != iterable.size()) ss << ',';
+                ss << CAST(Str&, vm->py_repr(iterable[i]));
+                if(i != iterable.size()-1) ss << ", ";
             }
         }
         ss << ')';
@@ -724,7 +724,7 @@ void init_builtins(VM* _vm) {
         ss << '[';
         for(int i=0; i<iterable.size(); i++){
             ss << CAST(Str&, vm->py_json(iterable[i]));
-            if(i != iterable.size()) ss << ',';
+            if(i != iterable.size()-1) ss << ", ";
         }
         ss << ']';
         return VAR(ss.str());

+ 16 - 1
tests/80_json.py

@@ -40,4 +40,19 @@ assert c == _c
 d = True
 _j = json.dumps(d)
 _d = json.loads(_j)
-assert d == _d
+assert d == _d
+
+
+assert repr((1,)) == '(1,)'
+assert repr((1, 2, 3)) == '(1, 2, 3)'
+assert repr(tuple()) == '()'
+assert json.dumps((1,)) == '[1]'
+assert json.dumps((1, 2, 3)) == '[1, 2, 3]'
+assert json.dumps(tuple()) == '[]'
+
+assert repr([]) == '[]'
+assert repr([1, 2, 3]) == '[1, 2, 3]'
+assert repr([1]) == '[1]'
+assert json.dumps([]) == '[]'
+assert json.dumps([1, 2, 3]) == '[1, 2, 3]'
+assert json.dumps([1]) == '[1]'