On Tue, 8 Feb 2005 10:10:49 +0100, Fredrik Lundh <fredrik at pythonware.com> wrote: > > >> @@ -399,9 +393,8 @@ > >> del self[name] # Won't fail if it doesn't exist > >> self.dict[name.lower()] = value > >> text = name + ": " + value > >> - lines = text.split("\n") > >> - for line in lines: > >> - self.headers.append(line + "\n") > >> + self.headers.extend(text.splitlines(True)) > >> + self.headers.append('\n') > > > > and you're 100% sure that the change in how things are stored > > in headers won't affect any existing code? > > > > (the docstring says that headers contain a list of lines, which is no > > longer true) > > and the module documentation says: > > Each line contains a trailing newline. The blank line terminating > the headers is not contained in the list. > > which is no longer true (unless I'm missing something here) This would have been caught if there was a unit test validating what the documentation says. Why aren't there unit tests for this code? I think we need to raise the bar for "wholistic" improvements to a module: first write a unit test if there isn't already one (and if there is one, make sure that it tests all documented behavior), *then* refactor. Yes, this would be less fun. It's not supposed to be fun. It's supposed to avoid breaking code. Raymond, please roll back that change until this is taken care of. -- --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4