From 979ee6844e655f13d7f7ce0b03461603f6f423fc Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Fri, 7 Jun 2013 19:05:01 -0400 Subject: [PATCH] Add to the test, a check that the XML file truly has a non-ASCII character in it. --- .../lib/xmodule/xmodule/modulestore/tests/test_xml.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/common/lib/xmodule/xmodule/modulestore/tests/test_xml.py b/common/lib/xmodule/xmodule/modulestore/tests/test_xml.py index 3859049838..375fb32bf0 100644 --- a/common/lib/xmodule/xmodule/modulestore/tests/test_xml.py +++ b/common/lib/xmodule/xmodule/modulestore/tests/test_xml.py @@ -1,6 +1,10 @@ +import os.path + from xmodule.course_module import CourseDescriptor from xmodule.modulestore.xml import XMLModuleStore +from nose.tools import assert_raises + from .test_modulestore import check_path_to_location from . import DATA_DIR @@ -19,6 +23,12 @@ class TestXMLModuleStore(object): # edX/full/6.002_Spring_2012 has non-ASCII chars, and during # uniquification of names, would raise a UnicodeError. It no longer does. + # Ensure that there really is a non-ASCII character in the course. + with open(os.path.join(DATA_DIR, "full/sequential/Administrivia_and_Circuit_Elements.xml")) as xmlf: + xml = xmlf.read() + with assert_raises(UnicodeDecodeError): + xml.decode('ascii') + # Load the course, but don't make error modules. This will succeed, # but will record the errors. modulestore = XMLModuleStore(DATA_DIR, course_dirs=['full'], load_error_modules=False)