Esempio n. 1
0
def test_op_indent():
    assert get_haskell_indent(lines_to_doc(["x = 5 +", ""])) == shiftwidth
Esempio n. 2
0
def test_where_indent_type():
    assert get_haskell_indent(lines_to_doc(["where f :: Int", "-> "])) == 8
Esempio n. 3
0
def test_type_sig_indent5():
    assert get_haskell_indent(
        lines_to_doc(["foo :: Monad m", "    => Int", "    -> "])) is None
Esempio n. 4
0
def test_where_indent_sameline():
    assert get_haskell_indent(lines_to_doc(["where foo = 1", ""])) == 6
Esempio n. 5
0
def test_type_sig_indent2():
    assert get_haskell_indent(lines_to_doc(["foo", ":: "])) == shiftwidth
Esempio n. 6
0
def test_type_sig_indent3():
    assert get_haskell_indent(lines_to_doc(["foo :: Foo", "    -> Bar", "-> "
                                            ])) is None
Esempio n. 7
0
def test_case_indent2():
    assert get_haskell_indent(lines_to_doc(["case x of", "  1 -> True", ""
                                            ])) is None  # i.e. continue indent
Esempio n. 8
0
def test_newtype_deriving_indent():
    assert get_haskell_indent(lines_to_doc(["newtype Foo = Foo",
                                            "deriving "])) == shiftwidth
Esempio n. 9
0
def test_do_indent2():
    # Make sure we indent past the do, not just to the then
    assert get_haskell_indent(lines_to_doc(["if True then do", ""])) == 15
Esempio n. 10
0
def test_case_indent1():
    assert get_haskell_indent(lines_to_doc(["case x of", ""])) == indent_case
Esempio n. 11
0
def test_let_indent2():
    assert get_haskell_indent(lines_to_doc(["let x = 1", "y ="])) == 4
Esempio n. 12
0
def test_guard_indent1():
    assert get_haskell_indent(lines_to_doc(["f x", "| "])) == 2
Esempio n. 13
0
def test_sumtype_indent1():
    assert get_haskell_indent(lines_to_doc(["data A = A", "| "])) == 7
Esempio n. 14
0
def test_where_indent_guard():
    assert get_haskell_indent(lines_to_doc(["where f x", "| x == 1"])) == 8
Esempio n. 15
0
def test_eq_indent1():
    assert get_haskell_indent(lines_to_doc(["foo x =", ""])) == shiftwidth
Esempio n. 16
0
def test_where_indent_after():
    assert get_haskell_indent(lines_to_doc(["foo x = y+x", "  where",
                                            "y = "])) == 4
Esempio n. 17
0
def test_do_indent1():
    assert get_haskell_indent(lines_to_doc(["do", ""])) == shiftwidth
Esempio n. 18
0
def test_type_sig_indent1():
    assert get_haskell_indent(lines_to_doc(["foo :: Foo", "-> "])) == 4
Esempio n. 19
0
def test_if_then_else_indent():
    assert get_haskell_indent(lines_to_doc(["if x == 1", "   then 4",
                                            "else"])) == 3
Esempio n. 20
0
def test_type_sig_unindent2():
    assert get_haskell_indent(lines_to_doc(["foo", "  :: Int", ""])) == 0
Esempio n. 21
0
def test_bare_where_indent():
    assert get_haskell_indent(lines_to_doc(["where",
                                            ""])) == indent_after_bare_where
Esempio n. 22
0
def test_type_sig_indent4():
    assert get_haskell_indent(lines_to_doc(["foo :: Monad m", "    => "])) == 4
Esempio n. 23
0
def test_let_indent1():
    assert get_haskell_indent(lines_to_doc(["let x = 1 in", ""])) == 4