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