13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
17
"""Tests for handling of ignore files"""
118
122
added = ignores.add_unique_user_ignores(
119
123
['xxx', './bar', 'xxx', 'dir1/', 'dir2/', 'dir3\\'])
120
124
self.assertEqual(['xxx', 'dir2'], added)
121
self.assertEqual(set(['foo', './bar', u'b\xe5z',
125
self.assertEqual(set(['foo', './bar', u'b\xe5z',
122
126
'xxx', 'dir1', 'dir2', 'dir3']),
123
127
ignores.get_user_ignores())
129
133
TestCase.setUp(self)
131
orig = ignores._runtime_ignores
133
ignores._runtime_ignores = orig
134
self.addCleanup(restore)
135
135
# For the purposes of these tests, we must have no
136
136
# runtime ignores
137
ignores._runtime_ignores = set()
137
self.overrideAttr(ignores, '_runtime_ignores', set())
139
139
def test_add(self):
140
140
"""Test that we can add an entry to the list."""
158
158
tree = self.make_branch_and_tree(".")
159
159
ignores.tree_ignores_add_patterns(tree, ["myentry"])
160
160
self.assertTrue(tree.has_filename(".bzrignore"))
161
self.assertEquals("myentry\n",
161
self.assertEquals("myentry\n",
162
162
open(".bzrignore", 'r').read())
164
164
def test_add_to_existing(self):
165
165
tree = self.make_branch_and_tree(".")
166
self.build_tree_contents([('.bzrignore', "myentry1\n")])
166
self.build_tree_contents([('.bzrignore', "myentry1\n")])
167
167
tree.add([".bzrignore"])
168
168
ignores.tree_ignores_add_patterns(tree, ["myentry2", "foo"])
169
self.assertEquals("myentry1\nmyentry2\nfoo\n",
169
self.assertEquals("myentry1\nmyentry2\nfoo\n",
170
170
open(".bzrignore", 'r').read())
172
172
def test_adds_ending_newline(self):
173
173
tree = self.make_branch_and_tree(".")
174
self.build_tree_contents([('.bzrignore', "myentry1")])
174
self.build_tree_contents([('.bzrignore', "myentry1")])
175
175
tree.add([".bzrignore"])
176
176
ignores.tree_ignores_add_patterns(tree, ["myentry2"])
177
self.assertEquals("myentry1\nmyentry2\n",
177
self.assertEquals("myentry1\nmyentry2\n",
178
178
open(".bzrignore", 'r').read())