Skip to content

Commit 2d4bbc0

Browse files
committed
Specify type and apply review
1 parent 47a0449 commit 2d4bbc0

File tree

4 files changed

+24
-23
lines changed

4 files changed

+24
-23
lines changed

lib/gradient/elixir_type.ex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ defmodule Gradient.ElixirType do
66
- record type
77
- constrained function type
88
are not used by Elixir so the pp support has not been added.
9-
10-
TODO add tests simply basing simply on passed type terms
119
"""
1210

11+
@type abstract_type() :: Gradient.Types.abstract_type()
12+
1313
@doc """
1414
Take type and prepare a pretty string representation.
1515
"""
16-
@spec pretty_print(tuple()) :: String.t()
16+
@spec pretty_print(abstract_type()) :: String.t()
1717
def pretty_print({:remote_type, _, [{:atom, _, mod}, {:atom, _, name}, args]}) do
1818
args_str = Enum.map(args, &pretty_print(&1)) |> Enum.join(", ")
1919
name_str = Atom.to_string(name)

lib/gradient/types.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
defmodule Gradient.Types do
22
@type token :: tuple()
33
@type tokens :: [tuple()]
4+
@type abstract_type :: :erl_parse.abstract_type()
45
@type form ::
56
:erl_parse.abstract_clause()
67
| :erl_parse.abstract_expr()

test/gradient/elixir_fmt_test.exs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,49 +27,49 @@ defmodule Gradient.ElixirFmtTest do
2727
end
2828

2929
describe "types format" do
30-
test "return integer() instead atom()", %{wrong_ret_errors: errors} do
30+
test "return integer() instead of atom()", %{wrong_ret_errors: errors} do
3131
[expected, actual] = format_error_to_binary(errors.ret_wrong_atom)
3232

3333
assert String.contains?(expected, "atom()")
3434
assert String.contains?(actual, "1")
3535
end
3636

37-
test "return tuple() instead atom()", %{wrong_ret_errors: errors} do
37+
test "return tuple() instead of atom()", %{wrong_ret_errors: errors} do
3838
[expected, actual] = format_error_to_binary(errors.ret_wrong_atom2)
3939

4040
assert String.contains?(expected, "atom()")
4141
assert String.contains?(actual, "{:ok, []}")
4242
end
4343

44-
test "return map() instead atom()", %{wrong_ret_errors: errors} do
44+
test "return map() instead of atom()", %{wrong_ret_errors: errors} do
4545
[expected, actual] = format_error_to_binary(errors.ret_wrong_atom3)
4646

4747
assert String.contains?(expected, "atom()")
4848
assert String.contains?(actual, "%{required(:a) => 1}")
4949
end
5050

51-
test "return float() instead integer()", %{wrong_ret_errors: errors} do
51+
test "return float() instead of integer()", %{wrong_ret_errors: errors} do
5252
[expected, actual] = format_error_to_binary(errors.ret_wrong_integer)
5353

5454
assert String.contains?(expected, "integer()")
5555
assert String.contains?(actual, "float()")
5656
end
5757

58-
test "return atom() instead integer()", %{wrong_ret_errors: errors} do
58+
test "return atom() instead of integer()", %{wrong_ret_errors: errors} do
5959
[expected, actual] = format_error_to_binary(errors.ret_wrong_integer2)
6060

6161
assert String.contains?(expected, "integer()")
6262
assert String.contains?(actual, ":ok")
6363
end
6464

65-
test "return boolean() instead integer()", %{wrong_ret_errors: errors} do
65+
test "return boolean() instead of integer()", %{wrong_ret_errors: errors} do
6666
[expected, actual] = format_error_to_binary(errors.ret_wrong_integer3)
6767

6868
assert String.contains?(expected, "integer()")
6969
assert String.contains?(actual, "true")
7070
end
7171

72-
test "return list() instead integer()", %{wrong_ret_errors: errors} do
72+
test "return list() instead of integer()", %{wrong_ret_errors: errors} do
7373
[expected, actual] = format_error_to_binary(errors.ret_wrong_integer4)
7474

7575
assert String.contains?(expected, "integer()")
@@ -83,71 +83,71 @@ defmodule Gradient.ElixirFmtTest do
8383
assert String.contains?(actual, "12")
8484
end
8585

86-
test "return integer() instead float()", %{wrong_ret_errors: errors} do
86+
test "return integer() instead of float()", %{wrong_ret_errors: errors} do
8787
[expected, actual] = format_error_to_binary(errors.ret_wrong_float)
8888

8989
assert String.contains?(expected, "float()")
9090
assert String.contains?(actual, "1")
9191
end
9292

93-
test "return nil() instead float()", %{wrong_ret_errors: errors} do
93+
test "return nil() instead of float()", %{wrong_ret_errors: errors} do
9494
[expected, actual] = format_error_to_binary(errors.ret_wrong_float2)
9595

9696
assert String.contains?(expected, "float()")
9797
assert String.contains?(actual, "nil")
9898
end
9999

100-
test "return charlist() instead char()", %{wrong_ret_errors: errors} do
100+
test "return charlist() instead of char()", %{wrong_ret_errors: errors} do
101101
[expected, actual] = format_error_to_binary(errors.ret_wrong_char)
102102

103103
assert String.contains?(expected, "char()")
104104
assert String.contains?(actual, "nonempty_list()")
105105
end
106106

107-
test "return nil() instead char()", %{wrong_ret_errors: errors} do
107+
test "return nil() instead of char()", %{wrong_ret_errors: errors} do
108108
[expected, actual] = format_error_to_binary(errors.ret_wrong_char2)
109109

110110
# unfortunately char is represented as {:integer, 0, _}
111111
assert String.contains?(expected, "111")
112112
assert String.contains?(actual, "nil")
113113
end
114114

115-
test "return atom() instead boolean()", %{wrong_ret_errors: errors} do
115+
test "return atom() instead of boolean()", %{wrong_ret_errors: errors} do
116116
[expected, actual] = format_error_to_binary(errors.ret_wrong_boolean)
117117

118118
assert String.contains?(expected, "boolean()")
119119
assert String.contains?(actual, ":ok")
120120
end
121121

122-
test "return binary() instead boolean()", %{wrong_ret_errors: errors} do
122+
test "return binary() instead of boolean()", %{wrong_ret_errors: errors} do
123123
[expected, actual] = format_error_to_binary(errors.ret_wrong_boolean2)
124124

125125
assert String.contains?(expected, "boolean()")
126126
assert String.contains?(actual, "binary()")
127127
end
128128

129-
test "return integer() instead boolean()", %{wrong_ret_errors: errors} do
129+
test "return integer() instead of boolean()", %{wrong_ret_errors: errors} do
130130
[expected, actual] = format_error_to_binary(errors.ret_wrong_boolean3)
131131

132132
assert String.contains?(expected, "boolean()")
133133
assert String.contains?(actual, "1")
134134
end
135135

136-
test "return keyword() instead boolean()", %{wrong_ret_errors: errors} do
136+
test "return keyword() instead of boolean()", %{wrong_ret_errors: errors} do
137137
[expected, actual] = format_error_to_binary(errors.ret_wrong_boolean4)
138138

139139
assert String.contains?(expected, "boolean()")
140140
assert String.contains?(actual, "nonempty_list()")
141141
end
142142

143-
test "return list() instead keyword()", %{wrong_ret_errors: errors} do
143+
test "return list() instead of keyword()", %{wrong_ret_errors: errors} do
144144
[expected, actual] = format_error_to_binary(errors.ret_wrong_keyword)
145145

146146
assert String.contains?(expected, "{atom(), any()}")
147147
assert String.contains?(actual, "1")
148148
end
149149

150-
test "return tuple() instead map()", %{wrong_ret_errors: errors} do
150+
test "return tuple() instead of map()", %{wrong_ret_errors: errors} do
151151
[expected, actual] = format_error_to_binary(errors.ret_wrong_map)
152152

153153
assert String.contains?(expected, "map()")
@@ -161,7 +161,7 @@ defmodule Gradient.ElixirFmtTest do
161161
assert String.contains?(actual, "12")
162162
end
163163

164-
test "return atom() instead record()", %{record_type_errors: errors} do
164+
test "return atom() instead of record()", %{record_type_errors: errors} do
165165
[expected, actual] = format_error_to_binary(errors.ret_wrong_record)
166166

167167
assert String.contains?(expected, "user()")

test/support/type_data.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule Gradient.TypeData do
33
def all_pp_test_data() do
44
[
55
value_test_data(),
6-
buildin_types_test_data(),
6+
builtin_types_test_data(),
77
op_types_test_data(),
88
fun_types_test_data(),
99
map_types_test_data(),
@@ -23,7 +23,7 @@ defmodule Gradient.TypeData do
2323
]
2424
end
2525

26-
def buildin_types_test_data() do
26+
def builtin_types_test_data() do
2727
[
2828
{"integer type", {:type, 0, :integer, []}, "integer()"},
2929
{"float type", {:type, 0, :float, []}, "float()"},

0 commit comments

Comments
 (0)