import ast
import unittest
import unicodedata
+import urllib.error
from test import support
from http.client import HTTPException
try:
testdata = support.open_urlresource(url, encoding="utf-8",
check=check_version)
- except (OSError, HTTPException):
- self.skipTest("Could not retrieve " + url)
- self.addCleanup(testdata.close)
- for line in testdata:
- line = line.strip()
- if not line or line.startswith('#'):
- continue
- seqname, codepoints = line.split(';')
- codepoints = ''.join(chr(int(cp, 16)) for cp in codepoints.split())
- self.assertEqual(unicodedata.lookup(seqname), codepoints)
- with self.assertRaises(SyntaxError):
- self.checkletter(seqname, None)
- with self.assertRaises(KeyError):
- unicodedata.ucd_3_2_0.lookup(seqname)
+ except urllib.error.HTTPError as exc:
+ exc.close()
+ self.skipTest(f"Could not retrieve {url}: {exc!r}")
+ except (OSError, HTTPException) as exc:
+ self.skipTest(f"Could not retrieve {url}: {exc!r}")
+ with testdata:
+ for line in testdata:
+ line = line.strip()
+ if not line or line.startswith('#'):
+ continue
+ seqname, codepoints = line.split(';')
+ codepoints = ''.join(chr(int(cp, 16)) for cp in codepoints.split())
+ self.assertEqual(unicodedata.lookup(seqname), codepoints)
+ with self.assertRaises(SyntaxError):
+ self.checkletter(seqname, None)
+ with self.assertRaises(KeyError):
+ unicodedata.ucd_3_2_0.lookup(seqname)
def test_errors(self):
self.assertRaises(TypeError, unicodedata.name)