From ed20dd2e85a0bbd45085809417c29e92ced5e618 Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Sat, 12 Dec 2015 23:09:13 +0100 Subject: Fixed #25875 -- Prevented UnicodeDecodeError for Q object repr Thanks Ben Kraft for the report, and Simon Charette for the review. --- tests/or_lookups/tests.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tests') diff --git a/tests/or_lookups/tests.py b/tests/or_lookups/tests.py index 55afed3fc4..35c7f34d61 100644 --- a/tests/or_lookups/tests.py +++ b/tests/or_lookups/tests.py @@ -1,3 +1,4 @@ +# -*- encoding: utf-8 -*- from __future__ import unicode_literals from datetime import datetime @@ -5,6 +6,7 @@ from operator import attrgetter from django.db.models import Q from django.test import TestCase +from django.utils.encoding import force_str from .models import Article @@ -123,6 +125,12 @@ class OrLookupsTests(TestCase): attrgetter("headline"), ) + def test_q_repr(self): + or_expr = Q(baz=Article(headline="Foö")) + self.assertEqual(repr(or_expr), force_str("))>")) + negated_or = ~Q(baz=Article(headline="Foö")) + self.assertEqual(repr(negated_or), force_str(")))>")) + def test_q_negated(self): # Q objects can be negated self.assertQuerysetEqual( -- cgit v1.3