Skip to content

Commit aec64a9

Browse files
authored
Merge pull request #1995 from avaxar/revise-repr
Revise `repr` overload as per request in #1988
2 parents 3057a44 + 8f95042 commit aec64a9

File tree

6 files changed

+20
-17
lines changed

6 files changed

+20
-17
lines changed

src_c/color.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -718,7 +718,7 @@ _color_dealloc(pgColorObject *color)
718718
static PyObject *
719719
_color_repr(pgColorObject *color)
720720
{
721-
return PyUnicode_FromFormat("<Color(%d, %d, %d, %d)>", color->data[0],
721+
return PyUnicode_FromFormat("Color(%d, %d, %d, %d)", color->data[0],
722722
color->data[1], color->data[2],
723723
color->data[3]);
724724
}

src_c/math.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656

5757
#define VECTOR_EPSILON (1e-6)
5858
#define VECTOR_MAX_SIZE (4)
59-
#define STRING_BUF_SIZE_REPR (112)
59+
#define STRING_BUF_SIZE_REPR (110)
6060
#define STRING_BUF_SIZE_STR (103)
6161
#define SWIZZLE_ERR_NO_ERR 0
6262
#define SWIZZLE_ERR_DOUBLE_IDX 1
@@ -1753,20 +1753,20 @@ static PyObject *
17531753
vector_repr(pgVector *self)
17541754
{
17551755
/* The repr() of the largest possible Vector3 looks like
1756-
* "<Vector3({d}, {d}, {d})>" where 'd' has a maximum size of 32 bytes
1757-
* so allocate a 16 + 3 * 32 == 112 byte buffer
1756+
* "Vector3({d}, {d}, {d})" where 'd' has a maximum size of 32 bytes
1757+
* so allocate a 14 + 3 * 32 == 110 byte buffer
17581758
*/
17591759
char buffer[STRING_BUF_SIZE_REPR];
17601760
int tmp;
17611761

17621762
if (self->dim == 2) {
1763-
tmp = PyOS_snprintf(buffer, STRING_BUF_SIZE_REPR, "<Vector2(%g, %g)>",
1763+
tmp = PyOS_snprintf(buffer, STRING_BUF_SIZE_REPR, "Vector2(%g, %g)",
17641764
self->coords[0], self->coords[1]);
17651765
}
17661766
else if (self->dim == 3) {
1767-
tmp = PyOS_snprintf(buffer, STRING_BUF_SIZE_REPR,
1768-
"<Vector3(%g, %g, %g)>", self->coords[0],
1769-
self->coords[1], self->coords[2]);
1767+
tmp =
1768+
PyOS_snprintf(buffer, STRING_BUF_SIZE_REPR, "Vector3(%g, %g, %g)",
1769+
self->coords[0], self->coords[1], self->coords[2]);
17701770
}
17711771
else {
17721772
return RAISE(
@@ -2181,7 +2181,7 @@ _vector2_set(pgVector *self, PyObject *xOrSequence, PyObject *y)
21812181
return 0;
21822182
}
21832183
else if (PyUnicode_Check(xOrSequence)) {
2184-
char *delimiter[3] = {"<Vector2(", ", ", ")>"};
2184+
char *delimiter[3] = {"Vector2(", ", ", ")"};
21852185
Py_ssize_t error_code;
21862186
error_code = _vector_coords_from_string(xOrSequence, delimiter,
21872187
self->coords, self->dim);
@@ -2620,7 +2620,7 @@ _vector3_set(pgVector *self, PyObject *xOrSequence, PyObject *y, PyObject *z)
26202620
return 0;
26212621
}
26222622
else if (PyUnicode_Check(xOrSequence)) {
2623-
char *delimiter[4] = {"<Vector3(", ", ", ", ", ")>"};
2623+
char *delimiter[4] = {"Vector3(", ", ", ", ", ")"};
26242624
Py_ssize_t error_code;
26252625
error_code = _vector_coords_from_string(xOrSequence, delimiter,
26262626
self->coords, self->dim);

src_c/rect.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1666,7 +1666,7 @@ static PyNumberMethods pg_rect_as_number = {
16661666
static PyObject *
16671667
pg_rect_repr(pgRectObject *self)
16681668
{
1669-
return PyUnicode_FromFormat("<rect(%d, %d, %d, %d)>", self->r.x, self->r.y,
1669+
return PyUnicode_FromFormat("Rect(%d, %d, %d, %d)", self->r.x, self->r.y,
16701670
self->r.w, self->r.h);
16711671
}
16721672

test/color_test.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -500,8 +500,7 @@ def test_rgba(self):
500500

501501
def test_repr(self):
502502
c = pygame.Color(68, 38, 26, 69)
503-
t = "<Color(68, 38, 26, 69)>"
504-
self.assertEqual(repr(c), t)
503+
self.assertEqual(repr(c), "Color(68, 38, 26, 69)")
505504

506505
def test_add(self):
507506
c1 = pygame.Color(0)

test/math_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -510,8 +510,8 @@ def testStr(self):
510510

511511
def testRepr(self):
512512
v = Vector2(1.2, 3.4)
513-
self.assertEqual(v.__repr__(), "<Vector2(1.2, 3.4)>")
514-
self.assertEqual(v, Vector2(v.__repr__()))
513+
self.assertEqual(repr(v), "Vector2(1.2, 3.4)")
514+
self.assertEqual(v, Vector2(repr(v)))
515515

516516
def testIter(self):
517517
it = self.v1.__iter__()
@@ -1498,8 +1498,8 @@ def testStr(self):
14981498

14991499
def testRepr(self):
15001500
v = Vector3(1.2, 3.4, -9.6)
1501-
self.assertEqual(v.__repr__(), "<Vector3(1.2, 3.4, -9.6)>")
1502-
self.assertEqual(v, Vector3(v.__repr__()))
1501+
self.assertEqual(repr(v), "Vector3(1.2, 3.4, -9.6)")
1502+
self.assertEqual(v, Vector3(repr(v)))
15031503

15041504
def testIter(self):
15051505
it = self.v1.__iter__()

test/rect_test.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ def testCalculatedAttributes(self):
4646
self.assertEqual((r.left, r.centery), r.midleft)
4747
self.assertEqual((r.right, r.centery), r.midright)
4848

49+
def testRepr(self):
50+
rect = Rect(12, 34, 56, 78)
51+
self.assertEqual(repr(rect), "Rect(12, 34, 56, 78)")
52+
4953
def test_rect_iter(self):
5054
rect = Rect(50, 100, 150, 200)
5155

0 commit comments

Comments
 (0)