Rev 4335: (igc) Raise an error for unknown eol values. (Brian de Alwis) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Wed May 6 07:24:32 BST 2009
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 4335
revision-id: pqm at pqm.ubuntu.com-20090506062429-suh2qssj5ak01olt
parent: pqm at pqm.ubuntu.com-20090506040737-tdiqyojy2uia33qb
parent: ian.clatworthy at canonical.com-20090506053147-efup6m3qdmvmh3z5
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Wed 2009-05-06 07:24:29 +0100
message:
(igc) Raise an error for unknown eol values. (Brian de Alwis)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/filters/eol.py eol.py-20090327060429-todzdjmqt3bpv5r8-1
bzrlib/tests/test_eol_filters.py test_eol_filters.py-20090327060429-todzdjmqt3bpv5r8-2
------------------------------------------------------------
revno: 4334.1.1
revision-id: ian.clatworthy at canonical.com-20090506053147-efup6m3qdmvmh3z5
parent: pqm at pqm.ubuntu.com-20090506040737-tdiqyojy2uia33qb
committer: Ian Clatworthy <ian.clatworthy at canonical.com>
branch nick: integration
timestamp: Wed 2009-05-06 15:31:47 +1000
message:
(igc) Raise an error for unknown eol values. (Brian de Alwis)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/filters/eol.py eol.py-20090327060429-todzdjmqt3bpv5r8-1
bzrlib/tests/test_eol_filters.py test_eol_filters.py-20090327060429-todzdjmqt3bpv5r8-2
=== modified file 'NEWS'
--- a/NEWS 2009-05-06 00:41:48 +0000
+++ b/NEWS 2009-05-06 05:31:47 +0000
@@ -41,6 +41,8 @@
* Adding now works properly when path contains a symbolic link.
(Geoff Bache, #183831)
+* An error is now raised for unknown eol values. (Brian de Alwis, #358199)
+
* ``bzr merge --weave`` will now generate a conflict if one side deletes a
line, and the other side modifies the line. (John Arbash Meinel, #328171)
=== modified file 'bzrlib/filters/eol.py'
--- a/bzrlib/filters/eol.py 2009-04-20 08:37:32 +0000
+++ b/bzrlib/filters/eol.py 2009-05-06 05:31:47 +0000
@@ -22,6 +22,8 @@
import re, sys
+from bzrlib.errors import BzrError
+
# Real Linux/Unix/OSX newline - \n without \r before it
_LINUX_NL_RE = re.compile(r'(?<!\r)\n')
@@ -66,5 +68,8 @@
[ContentFilter(_to_crlf_converter, _to_crlf_converter)],
}
def eol_lookup(key):
- return _eol_filter_stack_map.get(key)
+ filter = _eol_filter_stack_map.get(key)
+ if filter is None:
+ raise BzrError("Unknown eol value '%s'" % key)
+ return filter
register_filter_stack_map('eol', eol_lookup)
=== modified file 'bzrlib/tests/test_eol_filters.py'
--- a/bzrlib/tests/test_eol_filters.py 2009-04-02 04:12:11 +0000
+++ b/bzrlib/tests/test_eol_filters.py 2009-05-06 05:31:47 +0000
@@ -17,6 +17,11 @@
"""Tests for eol conversion."""
+from bzrlib import (
+ errors,
+ rules,
+ )
+from bzrlib.filters import _get_filter_stack_for
from bzrlib.filters.eol import (
_to_crlf_converter,
_to_lf_converter,
@@ -37,3 +42,27 @@
def test_to_crlf(self):
result = _to_crlf_converter([_sample_file1])
self.assertEqual(["hello\r\nworld\r\n"], result)
+
+
+class TestEolRulesSpecifications(TestCase):
+
+ def test_exact_value(self):
+ """'eol = exact' should have no content filters"""
+ prefs = (('eol','exact'),)
+ self.assertEqual([], _get_filter_stack_for(prefs))
+
+ def test_other_known_values(self):
+ """These known eol values have corresponding filters."""
+ known_values = ('lf', 'crlf', 'native',
+ 'native-with-crlf-in-repo', 'lf-with-crlf-in-repo',
+ 'crlf-with-crlf-in-repo')
+ for value in known_values:
+ prefs = (('eol',value),)
+ self.assertNotEqual([], _get_filter_stack_for(prefs))
+
+ def test_unknown_value(self):
+ """
+ Unknown eol values should raise an error.
+ """
+ prefs = (('eol','unknown-value'),)
+ self.assertRaises(errors.BzrError, _get_filter_stack_for, prefs)
More information about the bazaar-commits
mailing list