From e85e1ae413d28e78d66a7b74d68f08895479543f Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Wed, 6 Oct 2010 09:17:24 +0000 Subject: [PATCH] Merged revisions 82757-82758,82760-82764 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r82757 | georg.brandl | 2010-07-10 10:58:37 +0200 (Sa, 10 Jul 2010) | 1 line Fix markup. ........ r82758 | georg.brandl | 2010-07-10 12:23:40 +0200 (Sa, 10 Jul 2010) | 1 line Emphasize role of count for Pascal string. ........ r82760 | georg.brandl | 2010-07-10 12:39:57 +0200 (Sa, 10 Jul 2010) | 1 line #3214: improve description of duck-typing in glossary. ........ r82761 | georg.brandl | 2010-07-10 13:40:13 +0200 (Sa, 10 Jul 2010) | 1 line #1434090: properly append child in expatbuilder doctype handler. ........ r82762 | georg.brandl | 2010-07-10 13:51:06 +0200 (Sa, 10 Jul 2010) | 1 line #8338: fix outdated class name. ........ r82763 | georg.brandl | 2010-07-10 14:01:34 +0200 (Sa, 10 Jul 2010) | 1 line #8456: fix signature of sqlite3.connect(). ........ r82764 | georg.brandl | 2010-07-10 14:20:38 +0200 (Sa, 10 Jul 2010) | 1 line #8564: update docs on integrating doctest/unittest with unittest(2) test discovery. ........ --- Doc/glossary.rst | 6 +++--- Doc/library/doctest.rst | 15 +++++++-------- Doc/library/sqlite3.rst | 2 +- Doc/library/struct.rst | 16 ++++++++-------- Lib/xml/dom/expatbuilder.py | 2 +- 5 files changed, 20 insertions(+), 21 deletions(-) diff --git a/Doc/glossary.rst b/Doc/glossary.rst index 9a340fc1b9..dceeac85ed 100644 --- a/Doc/glossary.rst +++ b/Doc/glossary.rst @@ -156,9 +156,9 @@ Glossary object. duck-typing - A pythonic programming style which determines an object's type by inspection - of its method or attribute signature rather than by explicit relationship - to some type object ("If it looks like a duck and quacks like a duck, it + A programming style which does not look at an object's type to determine + if it has the right interface; instead, the method or attribute is simply + called or used ("If it looks like a duck and quacks like a duck, it must be a duck.") By emphasizing interfaces rather than specific types, well-designed code improves its flexibility by allowing polymorphic substitution. Duck-typing avoids tests using :func:`type` or diff --git a/Doc/library/doctest.rst b/Doc/library/doctest.rst index d587c7507d..5cabc5e0ae 100644 --- a/Doc/library/doctest.rst +++ b/Doc/library/doctest.rst @@ -972,18 +972,17 @@ serious Python testing frameworks build on the :mod:`unittest` module, which supplies many flexible ways to combine tests from multiple sources. So, in Python 2.4, :mod:`doctest`'s :class:`Tester` class is deprecated, and :mod:`doctest` provides two functions that can be used to create :mod:`unittest` -test suites from modules and text files containing doctests. These test suites -can then be run using :mod:`unittest` test runners:: +test suites from modules and text files containing doctests. To integrate with +:mod:`unittest` test discovery, include a :func:`load_tests` function in your +test module:: import unittest import doctest - import my_module_with_doctests, and_another + import my_module_with_doctests - suite = unittest.TestSuite() - for mod in my_module_with_doctests, and_another: - suite.addTest(doctest.DocTestSuite(mod)) - runner = unittest.TextTestRunner() - runner.run(suite) + def load_tests(loader, tests, ignore): + tests.addTests(doctest.DocTestSuite(my_module_with_doctests)) + return test There are two main functions for creating :class:`unittest.TestSuite` instances from text files and modules with doctests: diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst index cf38373ab8..cf2e678cb6 100644 --- a/Doc/library/sqlite3.rst +++ b/Doc/library/sqlite3.rst @@ -138,7 +138,7 @@ Module functions and constants first blank for the column name: the column name would simply be "x". -.. function:: connect(database[, timeout, isolation_level, detect_types, factory]) +.. function:: connect(database[, timeout, detect_types, isolation_level, check_same_thread, factory, cached_statements]) Opens a connection to the SQLite database file *database*. You can use ``":memory:"`` to open a database connection to a database that resides in RAM diff --git a/Doc/library/struct.rst b/Doc/library/struct.rst index b5fd43278f..0b8052c40d 100644 --- a/Doc/library/struct.rst +++ b/Doc/library/struct.rst @@ -263,14 +263,14 @@ specified number of bytes. As a special case, ``'0s'`` means a single, empty string (while ``'0c'`` means 0 characters). The ``'p'`` format character encodes a "Pascal string", meaning a short -variable-length string stored in a fixed number of bytes. The count is the total -number of bytes stored. The first byte stored is the length of the string, or -255, whichever is smaller. The bytes of the string follow. If the string -passed in to :func:`pack` is too long (longer than the count minus 1), only the -leading count-1 bytes of the string are stored. If the string is shorter than -count-1, it is padded with null bytes so that exactly count bytes in all are -used. Note that for :func:`unpack`, the ``'p'`` format character consumes count -bytes, but that the string returned can never contain more than 255 characters. +variable-length string stored in a *fixed number of bytes*, given by the count. +The first byte stored is the length of the string, or 255, whichever is smaller. +The bytes of the string follow. If the string passed in to :func:`pack` is too +long (longer than the count minus 1), only the leading ``count-1`` bytes of the +string are stored. If the string is shorter than ``count-1``, it is padded with +null bytes so that exactly count bytes in all are used. Note that for +:func:`unpack`, the ``'p'`` format character consumes count bytes, but that the +string returned can never contain more than 255 characters. For the ``'P'`` format character, the return value is a Python integer or long integer, depending on the size needed to hold a pointer when it has been cast to diff --git a/Lib/xml/dom/expatbuilder.py b/Lib/xml/dom/expatbuilder.py index a2f8a33834..4fba87585f 100644 --- a/Lib/xml/dom/expatbuilder.py +++ b/Lib/xml/dom/expatbuilder.py @@ -242,7 +242,7 @@ class ExpatBuilder: doctype = self.document.implementation.createDocumentType( doctypeName, publicId, systemId) doctype.ownerDocument = self.document - self.document.childNodes.append(doctype) + _append_child(self.document, doctype) self.document.doctype = doctype if self._filter and self._filter.acceptNode(doctype) == FILTER_REJECT: self.document.doctype = None -- 2.40.0