'Test the number of subnodes of a fake object.
There was a bug where the number of child nodes would grow on every
call to :func:``jedi.evaluate.compiled.fake.get_faked``.
See Github PR#649 and isseu #591.'

def test_fake_subnodes(self):

    def get_str_completion(values):
        for c in values:
            if (c.name == 'str'):
                return c
    limit = None
    for i in range(2):
        completions = Script('').completions()
        c = get_str_completion(completions)
        (str_context,) = c._name.infer()
        n = len(str_context.tree_node.children[(-1)].children)
        if (i == 0):
            limit = n
        else:
            assert (n == limit)
