From 769d52d6b260154c760b9d0fe452a3fd80b6d4b1 Mon Sep 17 00:00:00 2001 From: Arthur Milchior Date: Wed, 13 Nov 2019 16:29:54 +0100 Subject: [PATCH] Test: Renaming with different cases --- tests/test_decks.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/tests/test_decks.py b/tests/test_decks.py index 55226501b..76aebc0ea 100644 --- a/tests/test_decks.py +++ b/tests/test_decks.py @@ -89,14 +89,20 @@ def test_rename(): for n in "yo", "yo::two", "yo::two::three": assert n in d.decks.allNames() # over filtered - parentId = d.decks.newDyn("parent") - parent = d.decks.get(parentId) + filteredId = d.decks.newDyn("filtered") + filtered = d.decks.get(filteredId) childId = d.decks.id("child") child = d.decks.get(childId) - assertException(DeckRenameError, lambda: d.decks.rename(child, "parent::child")) + assertException(DeckRenameError, lambda: d.decks.rename(child, "filtered::child")) + assertException(DeckRenameError, lambda: d.decks.rename(child, "FILTERED::child")) + # changing case + parentId = d.decks.id("PARENT") + d.decks.id("PARENT::CHILD") + assertException(DeckRenameError, lambda: d.decks.rename(child, "PARENT::CHILD")) assertException(DeckRenameError, lambda: d.decks.rename(child, "PARENT::child")) + def test_renameForDragAndDrop(): d = getEmptyCol() @@ -139,6 +145,16 @@ def test_renameForDragAndDrop(): d.decks.renameForDragAndDrop(chinese_did, None) assert deckNames() == [ 'Chinese', 'Chinese::HSK', 'Languages' ] + # can't drack a deck where sibling have same name + new_hsk_did = d.decks.id("HSK") + assertException(DeckRenameError, lambda: d.decks.renameForDragAndDrop(new_hsk_did, chinese_did)) + d.decks.rem(new_hsk_did) + + # can't drack a deck where sibling have same name different case + new_hsk_did = d.decks.id("hsk") + assertException(DeckRenameError, lambda: d.decks.renameForDragAndDrop(new_hsk_did, chinese_did)) + d.decks.rem(new_hsk_did) + # '' is a convenient alias for the top level DID d.decks.renameForDragAndDrop(hsk_did, '') assert deckNames() == [ 'Chinese', 'HSK', 'Languages' ]