def test_pyrst_pattern_nonmatches(self): tests = [(":py:"), (":py:class:"), ("`genome_array`"), # missing one or more backticks (":py:class:`plastid.genomics.genome_array.GenomeArray"), (":py:class:plastid.genomics.genome_array.GenomeArray`"), (":py:class:plastid.genomics.genome_array.GenomeArray"), # malformed starting token ("py:class:`plastid.genomics.genome_array.GenomeArray`"), ] for test in tests: yield self.check_pyrst_pattern, pyrst_pattern.search(test), None, "rst pattern matches %s" % test
def test_pyrst_pattern_matches(self): tests = [(":py:class:`plastid.genomics.genome_array.GenomeArray`", "py", "class", "plastid.genomics.genome_array.GenomeArray", None), (":py:mod:`plastid.genomics.genome_array`", "py", "mod", "plastid.genomics.genome_array", None), (":py:obj:`some_obj`", "py", "obj", "some_obj", None), (":class:`plastid.genomics.genome_array.GenomeArray`", None, "class", "plastid.genomics.genome_array.GenomeArray", None), (":mod:`plastid.genomics.genome_array`", None, "mod", "plastid.genomics.genome_array", None), (":obj:`some_obj`", None, "obj", "some_obj", None), (":obj:`some_obj <with pointer>`", None, "obj", "some_obj", "with pointer"), (":domain:role:`some_arg <with pointer>`", "domain", "role", "some_arg", "with pointer"), ] for test, domain, role, argument, pointer in tests: groupdict = pyrst_pattern.search(test).groupdict() yield self.check_pyrst_pattern,domain,groupdict["domain"] yield self.check_pyrst_pattern,role,groupdict["role"] yield self.check_pyrst_pattern,argument,groupdict["argument"] yield self.check_pyrst_pattern,pointer,groupdict["pointer"]