@@ -19,7 +19,8 @@ fn run(
19
19
fold_mod: fold_mod,
20
20
fold_const: fold_const,
21
21
fold_fn: fold_fn,
22
- fold_enum: fold_enum
22
+ fold_enum: fold_enum,
23
+ fold_res: fold_res
23
24
with * fold:: default_seq_fold ( op)
24
25
} ) ;
25
26
fold. fold_crate ( fold, doc)
@@ -84,6 +85,20 @@ fn fold_enum(fold: fold::fold<op>, doc: doc::enumdoc) -> doc::enumdoc {
84
85
}
85
86
}
86
87
88
+ fn fold_res ( fold : fold:: fold < op > , doc : doc:: resdoc ) -> doc:: resdoc {
89
+ ~{
90
+ brief: maybe_apply_op ( fold. ctxt , doc. brief ) ,
91
+ desc: maybe_apply_op ( fold. ctxt , doc. desc ) ,
92
+ args: vec:: map ( doc. args ) { |arg|
93
+ ~{
94
+ desc: maybe_apply_op ( fold. ctxt , arg. desc )
95
+ with * arg
96
+ }
97
+ }
98
+ with * doc
99
+ }
100
+ }
101
+
87
102
#[ test]
88
103
fn should_execute_op_on_enum_brief ( ) {
89
104
let source = "#[doc(brief = \" a \" )] enum a { b }" ;
@@ -112,4 +127,34 @@ fn should_execute_op_on_variant_desc() {
112
127
let doc = attr_pass:: mk_pass ( ) ( srv, doc) ;
113
128
let doc = mk_pass ( str:: trim) ( srv, doc) ;
114
129
assert doc. topmod . enums [ 0 ] . variants [ 0 ] . desc == some ( "a" ) ;
130
+ }
131
+
132
+ #[ test]
133
+ fn should_execute_op_on_resource_brief ( ) {
134
+ let source = "#[doc(brief = \" a \" )] resource r(a: bool) { }" ;
135
+ let srv = astsrv:: mk_srv_from_str ( source) ;
136
+ let doc = extract:: from_srv ( srv, "" ) ;
137
+ let doc = attr_pass:: mk_pass ( ) ( srv, doc) ;
138
+ let doc = mk_pass ( str:: trim) ( srv, doc) ;
139
+ assert doc. topmod . resources [ 0 ] . brief == some ( "a" ) ;
140
+ }
141
+
142
+ #[ test]
143
+ fn should_execute_op_on_resource_desc ( ) {
144
+ let source = "#[doc(desc = \" a \" )] resource r(a: bool) { }" ;
145
+ let srv = astsrv:: mk_srv_from_str ( source) ;
146
+ let doc = extract:: from_srv ( srv, "" ) ;
147
+ let doc = attr_pass:: mk_pass ( ) ( srv, doc) ;
148
+ let doc = mk_pass ( str:: trim) ( srv, doc) ;
149
+ assert doc. topmod . resources [ 0 ] . desc == some ( "a" ) ;
150
+ }
151
+
152
+ #[ test]
153
+ fn should_execute_op_on_resource_args ( ) {
154
+ let source = "#[doc(args(a = \" a \" ))] resource r(a: bool) { }" ;
155
+ let srv = astsrv:: mk_srv_from_str ( source) ;
156
+ let doc = extract:: from_srv ( srv, "" ) ;
157
+ let doc = attr_pass:: mk_pass ( ) ( srv, doc) ;
158
+ let doc = mk_pass ( str:: trim) ( srv, doc) ;
159
+ assert doc. topmod . resources [ 0 ] . args [ 0 ] . desc == some ( "a" ) ;
115
160
}
0 commit comments