From 01e577be8bd76eb3378758c6b7037e16d340e564 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Wed, 27 Jul 2016 22:23:30 +0200 Subject: [PATCH] Move some recursion issues to the recursion module. --- test/completion/arrays.py | 14 ------------- test/completion/classes.py | 28 -------------------------- test/completion/recursion.py | 39 ++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 42 deletions(-) create mode 100644 test/completion/recursion.py diff --git a/test/completion/arrays.py b/test/completion/arrays.py index 8875d184..dcbbe379 100644 --- a/test/completion/arrays.py +++ b/test/completion/arrays.py @@ -379,20 +379,6 @@ for i in set(a for a in [1]): i -# ----------------- -# Recursions -# ----------------- - -def to_list(iterable): - return list(set(iterable)) - - -def recursion1(foo): - return to_list(to_list(foo)) + recursion1(foo) - -#? int() -recursion1([1,2])[0] - # ----------------- # Merged Arrays # ----------------- diff --git a/test/completion/classes.py b/test/completion/classes.py index 4308a1a5..b4f67a1f 100644 --- a/test/completion/classes.py +++ b/test/completion/classes.py @@ -294,34 +294,6 @@ class A(): #? list() A().b() -# ----------------- -# recursions -# ----------------- -def Recursion(): - def recurse(self): - self.a = self.a - self.b = self.b.recurse() - -#? -Recursion().a - -#? -Recursion().b - - -class X(): - def __init__(self): - self.recursive = [1, 3] - - def annoying(self): - self.recursive = [self.recursive[0]] - - def recurse(self): - self.recursive = [self.recursive[1]] - -#? int() -X().recursive[0] - # ----------------- # ducktyping # ----------------- diff --git a/test/completion/recursion.py b/test/completion/recursion.py new file mode 100644 index 00000000..1c24a7af --- /dev/null +++ b/test/completion/recursion.py @@ -0,0 +1,39 @@ +""" +Code that might cause recursion issues (or has caused in the past). +""" + +def Recursion(): + def recurse(self): + self.a = self.a + self.b = self.b.recurse() + +#? +Recursion().a + +#? +Recursion().b + + +class X(): + def __init__(self): + self.recursive = [1, 3] + + def annoying(self): + self.recursive = [self.recursive[0]] + + def recurse(self): + self.recursive = [self.recursive[1]] + +#? int() +X().recursive[0] + + +def to_list(iterable): + return list(set(iterable)) + + +def recursion1(foo): + return to_list(to_list(foo)) + recursion1(foo) + +#? int() +recursion1([1,2])[0]