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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
17
"""Tests for finding, parsing and searching rule-based preferences."""
45
45
def test_get_items_file_missing(self):
46
46
rs = self.make_searcher(None)
47
self.assertEquals((), rs.get_items('a.txt'))
48
self.assertEquals((), rs.get_selected_items('a.txt', ['foo']))
47
self.assertEquals([], rs.get_items('a.txt'))
48
self.assertEquals([], rs.get_selected_items('a.txt', ['foo']))
50
50
def test_get_items_file_empty(self):
51
51
rs = self.make_searcher("")
52
self.assertEquals((), rs.get_items('a.txt'))
53
self.assertEquals((), rs.get_selected_items('a.txt', ['foo']))
52
self.assertEquals([], rs.get_items('a.txt'))
53
self.assertEquals([], rs.get_selected_items('a.txt', ['foo']))
55
55
def test_get_items_from_extension_match(self):
56
56
rs = self.make_searcher("[name *.txt]\nfoo=bar\na=True\n")
57
self.assertEquals((), rs.get_items('a.py'))
57
self.assertEquals([], rs.get_items('a.py'))
58
58
self.assertEquals((('foo', 'bar'), ('a', 'True')),
59
59
rs.get_items('a.txt'))
60
60
self.assertEquals((('foo', 'bar'), ('a', 'True')),
62
62
self.assertEquals((('foo', 'bar'),),
63
63
rs.get_selected_items('a.txt', ['foo']))
65
def test_get_items_from_multiple_glob_match(self):
66
rs = self.make_searcher(
67
"[name *.txt *.py 'x x' \"y y\"]\nfoo=bar\na=True\n")
68
self.assertEquals((), rs.get_items('NEWS'))
69
self.assertEquals((('foo', 'bar'), ('a', 'True')),
71
self.assertEquals((('foo', 'bar'), ('a', 'True')),
72
rs.get_items('a.txt'))
73
self.assertEquals((('foo', 'bar'), ('a', 'True')),
75
self.assertEquals((('foo', 'bar'), ('a', 'True')),
78
65
def test_get_items_pathname_match(self):
79
66
rs = self.make_searcher("[name ./a.txt]\nfoo=baz\n")
80
67
self.assertEquals((('foo', 'baz'),),
81
68
rs.get_items('a.txt'))
82
self.assertEquals((), rs.get_items('dir/a.txt'))
69
self.assertEquals([], rs.get_items('dir/a.txt'))
84
71
def test_get_items_match_first(self):
85
72
rs = self.make_searcher(