From e7e7bd29e86ce54d5916431b30a60cb81109735d Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Wed, 6 Aug 2014 12:45:38 +0200 Subject: [PATCH] fix generator tests (multiple yields must be called with an if random. --- jedi/evaluate/compiled/fake/builtins.pym | 10 +++++---- test/completion/generators.py | 26 ++++++++++++++++-------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/jedi/evaluate/compiled/fake/builtins.pym b/jedi/evaluate/compiled/fake/builtins.pym index 41c51d25..599fbd33 100644 --- a/jedi/evaluate/compiled/fake/builtins.pym +++ b/jedi/evaluate/compiled/fake/builtins.pym @@ -7,11 +7,13 @@ possible for the auto completion. def next(iterator, default=None): - if hasattr("next"): - return iterator.next() + if random.choice([0, 1]): + if hasattr("next"): + return iterator.next() + else: + return iterator.__next__() else: - return iterator.__next__() - return default + return default def iter(collection, sentinel=None): diff --git a/test/completion/generators.py b/test/completion/generators.py index 5926245f..d24a41dc 100644 --- a/test/completion/generators.py +++ b/test/completion/generators.py @@ -2,8 +2,10 @@ # yield statement # ----------------- def gen(): - yield 1 - yield "" + if random.choice([0, 1]): + yield 1 + else: + yield "" gen_exe = gen() #? int() str() @@ -27,8 +29,10 @@ next(gen_ret()) # generators should not be indexable # ----------------- def get(param): - yield 1 - yield "" + if random.choice([0, 1]): + yield 1 + else: + yield "" #? [] get()[0] @@ -43,8 +47,10 @@ for a in get(): class Get(): def __iter__(self): - yield 1 - yield "" + if random.choice([0, 1]): + yield 1 + else: + yield "" b = [] for a in Get(): @@ -98,7 +104,7 @@ for c in Counter(3, 8): # tuples # ----------------- def gen(): - if a: + if random.choice([0,1]): yield 1, "" else: yield 2, 1.0 @@ -112,8 +118,10 @@ b def simple(): - yield 1 - yield '' + if random.choice([0, 1]): + yield 1 + else: + yield "" a, b = simple() #? int()