Merge 3.3.

This commit is contained in:
Stefan Krah 2012-11-10 23:31:22 +01:00
commit b8f09d3791
2 changed files with 13 additions and 2 deletions

View File

@ -35,7 +35,7 @@ import locale
from test.support import (run_unittest, run_doctest, is_resource_enabled,
requires_IEEE_754)
from test.support import (check_warnings, import_fresh_module, TestFailed,
run_with_locale)
run_with_locale, cpython_only)
import random
import time
import warnings
@ -574,6 +574,15 @@ class ExplicitConstructionTest(unittest.TestCase):
# embedded NUL
self.assertRaises(InvalidOperation, Decimal, "12\u00003")
@cpython_only
def test_from_legacy_strings(self):
import _testcapi
Decimal = self.decimal.Decimal
context = self.decimal.Context()
s = _testcapi.unicode_legacy_string('9.999999')
self.assertEqual(str(Decimal(s)), '9.999999')
self.assertEqual(str(context.create_decimal(s)), '9.999999')
def test_explicit_from_tuples(self):
Decimal = self.decimal.Decimal

View File

@ -1892,7 +1892,9 @@ numeric_as_ascii(const PyObject *u, int strip_ws)
Py_ssize_t j, len;
int d;
assert(PyUnicode_IS_READY(u));
if (PyUnicode_READY(u) == -1) {
return NULL;
}
kind = PyUnicode_KIND(u);
data = PyUnicode_DATA(u);