[CalendarServer-changes] [12492] twext/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Wed Mar 12 11:20:43 PDT 2014
Revision: 12492
http://trac.calendarserver.org//changeset/12492
Author: wsanchez at apple.com
Date: 2014-01-30 16:21:09 -0800 (Thu, 30 Jan 2014)
Log Message:
-----------
Add tests for unknown field elements.
Modified Paths:
--------------
twext/trunk/bin/test
twext/trunk/twext/who/test/test_xml.py
Modified: twext/trunk/bin/test
===================================================================
--- twext/trunk/bin/test 2014-01-31 00:20:06 UTC (rev 12491)
+++ twext/trunk/bin/test 2014-01-31 00:21:09 UTC (rev 12492)
@@ -19,6 +19,10 @@
set -e;
set -u;
+#
+# Initialize build support
+#
+
wd="$(cd "$(dirname "$0")/.." && pwd -L)";
export TWEXT_DEVELOP="true";
@@ -26,22 +30,22 @@
. "${wd}/bin/_build.sh";
init_build > /dev/null;
-c_dependencies >> "${dev_home}/setup.log";
-py_dependencies >> "${dev_home}/setup.log";
-##
+
+
+#
# Options
-##
+#
do_setup="false";
-do_get="false";
+ do_get="false";
-random="--random=$(date "+%s")";
-no_color="";
+ random="--random=$(date "+%s")";
+ no_color="";
until_fail="";
-coverage="";
-numjobs="";
-reactor="";
+ coverage="";
+ numjobs="";
+ reactor="";
if [ "$(uname -s)" == "Darwin" ]; then
reactor="--reactor=kqueue";
@@ -87,16 +91,28 @@
lint="false";
fi;
-##
+
+
+#
+# Dependencies
+#
+
+c_dependencies >> "${dev_home}/setup.log";
+py_dependencies >> "${dev_home}/setup.log";
+
+
+
+#
# Clean up
-##
+#
find "${wd}" -name \*.pyc -print0 | xargs -0 rm;
-##
+
+#
# Unit tests
-##
+#
cd "${wd}" && "${wd}/bin/trial" \
--temp-directory="${dev_home}/trial" \
@@ -115,9 +131,10 @@
fi;
-##
+
+#
# Linting
-##
+#
echo "";
echo "Running pyflakes...";
@@ -132,9 +149,10 @@
rm -f "${tmp}";
-##
+
+#
# Empty files
-##
+#
echo "";
echo "Checking for empty files...";
Modified: twext/trunk/twext/who/test/test_xml.py
===================================================================
--- twext/trunk/twext/who/test/test_xml.py 2014-01-31 00:20:06 UTC (rev 12491)
+++ twext/trunk/twext/who/test/test_xml.py 2014-01-31 00:21:09 UTC (rev 12492)
@@ -780,10 +780,46 @@
</directory>
"""[1:]
)))
+
self.assertEquals(set(service.unknownRecordTypes), set((u"camera",)))
+ def test_unknownFieldElementClean(self):
+ service = self.service()
+ self.assertEquals(set(service.unknownFieldElements), set())
+
+ @inlineCallbacks
+ def test_unknownFieldElementDirty(self):
+ service = self.service(xmlData=(dedent(
+ b"""
+ <?xml version="1.0" encoding="utf-8"?>
+
+ <directory realm="Unknown Record Types">
+ <record type="user">
+ <uid>__wsanchez__</uid>
+ <short-name>wsanchez</short-name>
+ <nickname>Larry</nickname>
+ </record>
+ </directory>
+ """[1:]
+ )))
+
+ self.assertEquals(
+ set(service.unknownFieldElements),
+ set((u"nickname",))
+ )
+
+ # Make sure that the 'short-name', which was parsed prior to nickname
+ # is correct. That is, make sure that we continue as soon as we
+ # notice the unknown field name and don't populate the previous field.
+
+ record = yield service.recordWithUID(u"__wsanchez__")
+
+ self.assertEquals(set(record.shortNames), set((u"wsanchez",)))
+
+
+
class DirectoryRecordTest(
unittest.TestCase,
BaseTest,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/8ff7e21e/attachment.html>
More information about the calendarserver-changes
mailing list