def test_rsplit(): assert rsplit("a", "a", 1) == ['', ''] assert rsplit(" ", " ", 1) == ['', ''] assert rsplit("aa", "a", 2) == ['', '', ''] assert rsplit('a|b|c|d', '|') == ['a', 'b', 'c', 'd'] assert rsplit('a|b|c|d', '|', 2) == ['a|b', 'c', 'd'] assert rsplit('a//b//c//d', '//') == ['a', 'b', 'c', 'd'] assert rsplit('endcase test', 'test') == ['endcase ', ''] raises(ValueError, rsplit, "abc", '')
def __init__(self, space, pto): bases_w = space.fixedview(from_ref(space, pto.c_tp_bases)) dict_w = {} add_operators(space, dict_w, pto) convert_method_defs(space, dict_w, pto.c_tp_methods, self) convert_getset_defs(space, dict_w, pto.c_tp_getset, self) convert_member_defs(space, dict_w, pto.c_tp_members, self) full_name = rffi.charp2str(pto.c_tp_name) if '.' in full_name: module_name, extension_name = rsplit(full_name, ".", 1) dict_w["__module__"] = space.wrap(module_name) else: extension_name = full_name W_TypeObject.__init__(self, space, extension_name, bases_w or [space.w_object], dict_w) if not space.is_true(space.issubtype(self, space.w_type)): self.flag_cpytype = True self.flag_heaptype = False
def __init__(self, space, pto): bases_w = space.fixedview(from_ref(space, pto.c_tp_bases)) dict_w = {} add_operators(space, dict_w, pto) convert_method_defs(space, dict_w, pto.c_tp_methods, self) convert_getset_defs(space, dict_w, pto.c_tp_getset, self) convert_member_defs(space, dict_w, pto.c_tp_members, self) full_name = rffi.charp2str(pto.c_tp_name) if '.' in full_name: module_name, extension_name = rsplit(full_name, ".", 1) dict_w["__module__"] = space.wrap(module_name) else: extension_name = full_name W_TypeObject.__init__(self, space, extension_name, bases_w or [space.w_object], dict_w) if not space.is_true(space.issubtype(self, space.w_type)): self.flag_cpytype = True self.flag_heaptype = False if pto.c_tp_doc: self.w_doc = space.wrap(rffi.charp2str(pto.c_tp_doc))