From 86564b27e9ad0d065bda36ddf81ada5b85cd99c7 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 2 Sep 2013 12:53:13 +0530 Subject: [PATCH] Fix test breakage caused by code to remove rating=0 entries --- src/calibre/db/tests/legacy.py | 15 +++++++++++++-- src/calibre/db/tests/metadata.db | Bin 245760 -> 245760 bytes 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/calibre/db/tests/legacy.py b/src/calibre/db/tests/legacy.py index 4baf1a627e..6ffb7f987d 100644 --- a/src/calibre/db/tests/legacy.py +++ b/src/calibre/db/tests/legacy.py @@ -51,7 +51,8 @@ def run_funcs(self, db, ndb, funcs): if meth[0] in {'!', '@', '#', '+', '$', '-', '%'}: if meth[0] != '+': fmt = {'!':dict, '@':lambda x:frozenset(x or ()), '#':lambda x:set((x or '').split(',')), - '$':lambda x:set(tuple(y) for y in x), '-':lambda x:None, '%':lambda x: set((x or '').split(','))}[meth[0]] + '$':lambda x:set(tuple(y) for y in x), '-':lambda x:None, + '%':lambda x: set((x or '').split(','))}[meth[0]] else: fmt = args[-1] args = args[:-1] @@ -66,6 +67,16 @@ class LegacyTest(BaseTest): def test_library_wide_properties(self): # {{{ 'Test library wide properties' + def to_unicode(x): + if isinstance(x, bytes): + return x.decode('utf-8') + if isinstance(x, dict): + # We ignore the key rec_index, since it is not stable for + # custom columns (it is created by iterating over a dict) + return {k.decode('utf-8') if isinstance(k, bytes) else k:to_unicode(v) + for k, v in x.iteritems() if k != 'rec_index'} + return x + def get_props(db): props = ('user_version', 'is_second_db', 'library_id', 'field_metadata', 'custom_column_label_map', 'custom_column_num_map', 'library_path', 'dbpath') @@ -73,7 +84,7 @@ class LegacyTest(BaseTest): ans = {x:getattr(db, x) for x in props} ans.update({x:getattr(db, x)() for x in fprops}) ans['all_ids'] = frozenset(db.all_ids()) - return ans + return to_unicode(ans) old = self.init_old() oldvals = get_props(old) diff --git a/src/calibre/db/tests/metadata.db b/src/calibre/db/tests/metadata.db index 88a76ac41091f0ca305d89add74c4f6ac9138a60..75402c873b1476d0b3611b9be6cb1f0836402747 100644 GIT binary patch delta 9666 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 ffdQT3831yq?&N_0