Пример #1
0
def test_indent():
    codelines = ('subroutine test(a)\n'
                 'integer :: a, i, j\n'
                 '\n'
                 'do\n'
                 'do \n'
                 'do j = 1, 5\n'
                 'if (a>b) then\n'
                 'if(b>0) then\n'
                 'a = 3\n'
                 'donot_indent_me = 2\n'
                 'do_not_indent_me_either = 2\n'
                 'ifIam_indented_something_went_wrong = 2\n'
                 'if_I_am_indented_something_went_wrong = 2\n'
                 'end should not be unindented here\n'
                 'end if\n'
                 'endif\n'
                 'end do\n'
                 'end do\n'
                 'enddo\n'
                 'end subroutine\n'
                 '\n'
                 'subroutine test2(a)\n'
                 'integer :: a\n'
                 'do\n'
                 'a = a + 1\n'
                 'end do \n'
                 'end subroutine\n')
    expected = ('subroutine test(a)\n'
                'integer :: a, i, j\n'
                '\n'
                'do\n'
                '   do \n'
                '      do j = 1, 5\n'
                '         if (a>b) then\n'
                '            if(b>0) then\n'
                '               a = 3\n'
                '               donot_indent_me = 2\n'
                '               do_not_indent_me_either = 2\n'
                '               ifIam_indented_something_went_wrong = 2\n'
                '               if_I_am_indented_something_went_wrong = 2\n'
                '               end should not be unindented here\n'
                '            end if\n'
                '         endif\n'
                '      end do\n'
                '   end do\n'
                'enddo\n'
                'end subroutine\n'
                '\n'
                'subroutine test2(a)\n'
                'integer :: a\n'
                'do\n'
                '   a = a + 1\n'
                'end do \n'
                'end subroutine\n')
    p = FCodePrinter({'source_format': 'free'})
    result = p.indent_code(codelines)
    assert result == expected
Пример #2
0
def test_indent():
    codelines = ("subroutine test(a)\n"
                 "integer :: a, i, j\n"
                 "\n"
                 "do\n"
                 "do \n"
                 "do j = 1, 5\n"
                 "if (a>b) then\n"
                 "if(b>0) then\n"
                 "a = 3\n"
                 "donot_indent_me = 2\n"
                 "do_not_indent_me_either = 2\n"
                 "ifIam_indented_something_went_wrong = 2\n"
                 "if_I_am_indented_something_went_wrong = 2\n"
                 "end should not be unindented here\n"
                 "end if\n"
                 "endif\n"
                 "end do\n"
                 "end do\n"
                 "enddo\n"
                 "end subroutine\n"
                 "\n"
                 "subroutine test2(a)\n"
                 "integer :: a\n"
                 "do\n"
                 "a = a + 1\n"
                 "end do \n"
                 "end subroutine\n")
    expected = ("subroutine test(a)\n"
                "integer :: a, i, j\n"
                "\n"
                "do\n"
                "   do \n"
                "      do j = 1, 5\n"
                "         if (a>b) then\n"
                "            if(b>0) then\n"
                "               a = 3\n"
                "               donot_indent_me = 2\n"
                "               do_not_indent_me_either = 2\n"
                "               ifIam_indented_something_went_wrong = 2\n"
                "               if_I_am_indented_something_went_wrong = 2\n"
                "               end should not be unindented here\n"
                "            end if\n"
                "         endif\n"
                "      end do\n"
                "   end do\n"
                "enddo\n"
                "end subroutine\n"
                "\n"
                "subroutine test2(a)\n"
                "integer :: a\n"
                "do\n"
                "   a = a + 1\n"
                "end do \n"
                "end subroutine\n")
    p = FCodePrinter({"source_format": "free"})
    result = p.indent_code(codelines)
    assert result == expected
Пример #3
0
 def _indent_code(self, codelines):
     p = FCodePrinter({'source_format': 'free', 'human': False})
     return p.indent_code(codelines)
Пример #4
0
def test_indent():
    codelines = (
        'subroutine test(a)\n'
        'integer :: a, i, j\n'
        '\n'
        'do\n'
        'do \n'
        'do j = 1, 5\n'
        'if (a>b) then\n'
        'if(b>0) then\n'
        'a = 3\n'
        'donot_indent_me = 2\n'
        'do_not_indent_me_either = 2\n'
        'ifIam_indented_something_went_wrong = 2\n'
        'if_I_am_indented_something_went_wrong = 2\n'
        'end should not be unindented here\n'
        'end if\n'
        'endif\n'
        'end do\n'
        'end do\n'
        'enddo\n'
        'end subroutine\n'
        '\n'
        'subroutine test2(a)\n'
        'integer :: a\n'
        'do\n'
        'a = a + 1\n'
        'end do \n'
        'end subroutine\n'
    )
    expected = (
        'subroutine test(a)\n'
        'integer :: a, i, j\n'
        '\n'
        'do\n'
        '   do \n'
        '      do j = 1, 5\n'
        '         if (a>b) then\n'
        '            if(b>0) then\n'
        '               a = 3\n'
        '               donot_indent_me = 2\n'
        '               do_not_indent_me_either = 2\n'
        '               ifIam_indented_something_went_wrong = 2\n'
        '               if_I_am_indented_something_went_wrong = 2\n'
        '               end should not be unindented here\n'
        '            end if\n'
        '         endif\n'
        '      end do\n'
        '   end do\n'
        'enddo\n'
        'end subroutine\n'
        '\n'
        'subroutine test2(a)\n'
        'integer :: a\n'
        'do\n'
        '   a = a + 1\n'
        'end do \n'
        'end subroutine\n'
    )
    p = FCodePrinter({'source_format': 'free'})
    result = p.indent_code(codelines)
    assert result == expected
Пример #5
0
 def _indent_code(self, codelines):
     p = FCodePrinter({'source_format': 'free', 'human': False})
     return p.indent_code(codelines)