Пример #1
0
def test_main():
    output = subprocess.Popen([
        "C:\\Users\\Admin\\Desktop\\university\\dva339\\lab2\\lab2.1\\Test2.1\\Test21.exe",
        "./false.bat", "1"
    ],
                              stdout=subprocess.PIPE,
                              stderr=subprocess.PIPE).communicate()[0].decode(
                              )
    p = output[output.find(")") + 1:].strip()
    pretty_parse_p = str(parse(lex(p))[0])
    pretty_parse_pretty_parse_p = str(parse(lex(pretty_parse_p))[0])
    return equals_program(p, pretty_parse_p), equals_program(
        pretty_parse_p, pretty_parse_pretty_parse_p), p
Пример #2
0
    def test_integration_one(self):
        src = '  if { 123 {{ {123 if{'
        actual_tokens = lex(src)
        expected_tokens = [('IF', 'if', 1, 3), ('CURLY_OPEN', '{', 1, 6),
                           ('NUM', '123', 1, 8), ('CURLY_OPEN', '{', 1, 12),
                           ('CURLY_OPEN', '{', 1, 13),
                           ('CURLY_OPEN', '{', 1, 15), ('NUM', '123', 1, 16),
                           ('IF', 'if', 1, 20), ('CURLY_OPEN', '{', 1, 22)]

        self.assertEqual(actual_tokens, expected_tokens)
Пример #3
0
def test_main():
    output = subprocess.Popen(
        ["..\\..\\lab2.1\\Test2.1\\Test21.exe", "./false.bat", "1"],
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE).communicate()[0].decode()
    p = output[output.find(")") + 1:].strip()
    # remove comments
    lines = ""
    p = re.split(r'\r\n|\r|\n', p.strip())
    for line in p:
        start = re.search("//", line)
        if start:
            lines += line[:start.span()[0]] + "\n"
        else:
            lines += line + "\n"
    # ---------------------------------------------------
    p = lines
    print(p)
    pretty_parse_p = str(parse(lex(p))[0])
    # pretty_parse_pretty_parse_p = str(parse(lex(pretty_parse_p))[0])
    # return equals_program(p, pretty_parse_p), equals_program(pretty_parse_p, pretty_parse_pretty_parse_p), p
    return True, True, None
Пример #4
0
 def load(self, url):
     headers, body = main.request(url)
     text = main.lex(body)
     self.display_list = self.layout(text)
     self.render()
Пример #5
0
    def test_one(self):
        src = ' if'
        actual_tokens = lex(src)
        expected_tokens = [('IF', 'if', 1, 2)]

        self.assertEqual(actual_tokens, expected_tokens)