Beispiel #1
0
	def testTagsTreePathMethods(self):
		db = new_test_database()
		mockindex = tests.MockObject()
		mockindex._db = db
 		mockindex.update_iter = tests.MockObject()
 		mockindex.update_iter.pages = tests.MockObject()
 		mockindex.update_iter.tags = tests.MockObject()

		model = TagsTreeModelMixin(mockindex, tags=('tag1', 'tag2'))
		tags = TagsView(db)

		# Test all pages
		for name, treepath in TREEPATHS_TAGS_12:
			myiter = model.get_mytreeiter(treepath)
			self.assertEqual(myiter.row['name'], name)
			self.assertEqual(myiter.treepath, treepath)
			if len(treepath) == 1:
				tag = tags.lookup_by_tagname(name)
				my_treepaths = model.find_all(tag)
			else:
				my_treepaths = model.find_all(Path(name))

			self.assertIn(treepath, my_treepaths)
			for treepath in my_treepaths:
				myiter = model.get_mytreeiter(treepath)
				self.assertEqual(myiter.row['name'], name)

		# Test no more data than above
		treepaths = list(self.walk_treepaths(model))
		self.assertEqual(treepaths, list(TREEPATHS_TAGS_12))

		# Test non-existing
		p = model.get_mytreeiter((1, 2, 3, 4, 5))
		self.assertIsNone(p)
		self.assertRaises(IndexNotFoundError, model.find_all, Path('non-existing-page'))
Beispiel #2
0
 def __init__(self, index, tags=None, show_full_page_name=True):
     TagsTreeModelMixin.__init__(self, index, tags)
     PageTreeStoreBase.__init__(self)
     self.show_full_page_name = show_full_page_name