@@ -4,6 +4,7 @@ defmodule ExDoc.Retriever.ErlangTest do
4
4
import TestHelper
5
5
6
6
@ moduletag :tmp_dir
7
+ @ nominal_type if System . otp_release ( ) >= "28" , do: :nominal , else: :type
7
8
8
9
describe "docs_from_modules/2" do
9
10
@ describetag :otp_eep59
@@ -274,26 +275,26 @@ defmodule ExDoc.Retriever.ErlangTest do
274
275
end
275
276
276
277
test "types" , c do
277
- erlc ( c , :mod , ~S """
278
+ erlc ( c , :mod , """
278
279
-module(mod).
279
- -export_type([type1/0, equiv_type1/0, opaque1/0]).
280
+ -export_type([type1/0, equiv_type1/0, opaque1/0, nominal1/0 ]).
280
281
281
282
-doc("type1/0 docs.").
282
283
-type type1() :: atom().
283
284
284
- -doc #{ equiv => type1/1 }.
285
+ -doc \# { equiv => type1/1}.
285
286
-type equiv_type1() :: atom().
286
287
287
288
-doc("opaque1/0 docs.").
288
289
-opaque opaque1() :: atom().
289
290
290
291
-doc("nominal1/0 docs.").
291
- -nominal nominal1() :: atom().
292
+ -#{ @ nominal_type } nominal1() :: atom().
292
293
""" )
293
294
294
295
config = % ExDoc.Config { source_url_pattern: "%{path}:%{line}" }
295
296
{ [ mod ] , [ ] } = Retriever . docs_from_modules ( [ :mod ] , config )
296
- [ equiv_type1 , opaque1 , nominal1 , type1 ] = mod . typespecs
297
+ [ equiv_type1 , nominal1 , opaque1 , type1 ] = mod . typespecs
297
298
298
299
assert opaque1 . id == "t:opaque1/0"
299
300
assert opaque1 . type == :opaque
@@ -305,7 +306,7 @@ defmodule ExDoc.Retriever.ErlangTest do
305
306
"opaque1()"
306
307
307
308
assert nominal1 . id == "t:nominal1/0"
308
- assert nominal1 . type == :nominal
309
+ assert nominal1 . type == @ nominal_type
309
310
assert nominal1 . group == :Types
310
311
assert nominal1 . signature == "nominal1()"
311
312
assert nominal1 . doc |> DocAST . to_string ( ) =~ "nominal1/0 docs."
@@ -486,24 +487,24 @@ defmodule ExDoc.Retriever.ErlangTest do
486
487
end
487
488
488
489
test "types" , c do
489
- erlc ( c , :mod , ~S """
490
+ erlc ( c , :mod , """
490
491
%% @doc Docs.
491
492
-module(mod).
492
- -export_type([type1/0, opaque1/0]).
493
+ -export_type([type1/0, opaque1/0, nominal1/0 ]).
493
494
494
495
-type type1() :: atom().
495
496
%% type1/0 docs.
496
497
497
498
-opaque opaque1() :: atom().
498
499
%% opaque1/0 docs.
499
500
500
- -nominal nominal1() :: atom().
501
- %% -doc(" nominal1/0 docs.") .
501
+ -#{ @ nominal_type } nominal1() :: atom().
502
+ %% nominal1/0 docs.
502
503
""" )
503
504
504
505
config = % ExDoc.Config { source_url_pattern: "%{path}:%{line}" }
505
506
{ [ mod ] , [ ] } = Retriever . docs_from_modules ( [ :mod ] , config )
506
- [ opaque1 , type1 ] = mod . typespecs
507
+ [ nominal1 , opaque1 , type1 ] = mod . typespecs
507
508
508
509
assert opaque1 . id == "t:opaque1/0"
509
510
assert opaque1 . type == :opaque
@@ -514,7 +515,7 @@ defmodule ExDoc.Retriever.ErlangTest do
514
515
"opaque1()"
515
516
516
517
assert nominal1 . id == "t:nominal1/0"
517
- assert nominal1 . type == :nominal
518
+ assert nominal1 . type == @ nominal_type
518
519
assert nominal1 . group == :Types
519
520
assert nominal1 . signature == "nominal1/0"
520
521
assert nominal1 . doc |> DocAST . to_string ( ) =~ "nominal1/0 docs."
0 commit comments