OLD | NEW |
1 # Copyright (C) 2010 Apple Inc. All rights reserved. | 1 # Copyright (C) 2010 Apple Inc. All rights reserved. |
2 # | 2 # |
3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
4 # modification, are permitted provided that the following conditions | 4 # modification, are permitted provided that the following conditions |
5 # are met: | 5 # are met: |
6 # 1. Redistributions of source code must retain the above copyright | 6 # 1. Redistributions of source code must retain the above copyright |
7 # notice, this list of conditions and the following disclaimer. | 7 # notice, this list of conditions and the following disclaimer. |
8 # 2. Redistributions in binary form must reproduce the above copyright | 8 # 2. Redistributions in binary form must reproduce the above copyright |
9 # notice, this list of conditions and the following disclaimer in the | 9 # notice, this list of conditions and the following disclaimer in the |
10 # documentation and/or other materials provided with the distribution. | 10 # documentation and/or other materials provided with the distribution. |
11 # | 11 # |
12 # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND | 12 # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND |
13 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 13 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
14 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 14 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
15 # DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR | 15 # DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR |
16 # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 16 # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
17 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | 17 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
18 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | 18 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
19 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | 19 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
20 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 20 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
21 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 21 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
22 | 22 |
23 """Unit test for xml.py.""" | 23 """Unit test for xml.py.""" |
24 | 24 |
25 import unittest | 25 import unittest |
26 import xml | 26 import xml |
27 | 27 |
28 | 28 |
29 class MockErrorHandler(object): | 29 class MockErrorHandler(object): |
| 30 |
30 def __init__(self, handle_style_error): | 31 def __init__(self, handle_style_error): |
31 self.turned_off_filtering = False | 32 self.turned_off_filtering = False |
32 self._handle_style_error = handle_style_error | 33 self._handle_style_error = handle_style_error |
33 | 34 |
34 def turn_off_line_filtering(self): | 35 def turn_off_line_filtering(self): |
35 self.turned_off_filtering = True | 36 self.turned_off_filtering = True |
36 | 37 |
37 def __call__(self, line_number, category, confidence, message): | 38 def __call__(self, line_number, category, confidence, message): |
38 self._handle_style_error(self, line_number, category, confidence, messag
e) | 39 self._handle_style_error(self, line_number, category, confidence, messag
e) |
39 return True | 40 return True |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 def test_init(self): | 78 def test_init(self): |
78 error_handler = MockErrorHandler(self.mock_handle_style_error) | 79 error_handler = MockErrorHandler(self.mock_handle_style_error) |
79 checker = xml.XMLChecker('foo.xml', error_handler) | 80 checker = xml.XMLChecker('foo.xml', error_handler) |
80 self.assertEqual(checker._handle_style_error, error_handler) | 81 self.assertEqual(checker._handle_style_error, error_handler) |
81 | 82 |
82 def test_missing_closing_tag(self): | 83 def test_missing_closing_tag(self): |
83 self.assert_error(3, 'xml/syntax', '<foo>\n<bar>\n</foo>\n') | 84 self.assert_error(3, 'xml/syntax', '<foo>\n<bar>\n</foo>\n') |
84 | 85 |
85 def test_no_error(self): | 86 def test_no_error(self): |
86 self.assert_no_error('<foo>\n</foo>') | 87 self.assert_no_error('<foo>\n</foo>') |
OLD | NEW |