@@ -16,8 +16,8 @@ fn gemtext() {
16
16
// Init tags collection
17
17
let mut code_inline: Vec < Inline > = Vec :: new ( ) ;
18
18
let mut code_multiline: Vec < Multiline > = Vec :: new ( ) ;
19
- let mut header : Vec < Header > = Vec :: new ( ) ;
20
- let mut link : Vec < Link > = Vec :: new ( ) ;
19
+ let mut headers : Vec < Header > = Vec :: new ( ) ;
20
+ let mut links : Vec < Link > = Vec :: new ( ) ;
21
21
let mut list: Vec < List > = Vec :: new ( ) ;
22
22
let mut quote: Vec < Quote > = Vec :: new ( ) ;
23
23
@@ -61,13 +61,13 @@ fn gemtext() {
61
61
62
62
// Header
63
63
if let Some ( result) = Header :: from ( line) {
64
- header . push ( result) ;
64
+ headers . push ( result) ;
65
65
continue ;
66
66
}
67
67
68
68
// Link
69
69
if let Some ( result) = Link :: from ( line, base. as_ref ( ) , timezone. as_ref ( ) ) {
70
- link . push ( result) ;
70
+ links . push ( result) ;
71
71
continue ;
72
72
}
73
73
@@ -114,7 +114,7 @@ fn gemtext() {
114
114
} // #2
115
115
116
116
// Validate headers
117
- assert_eq ! ( header . len( ) , 3 ) ;
117
+ assert_eq ! ( headers . len( ) , 3 ) ;
118
118
119
119
fn to_u8 ( level : & Level ) -> u8 {
120
120
match level {
@@ -123,41 +123,38 @@ fn gemtext() {
123
123
Level :: H3 => 3 ,
124
124
}
125
125
} // comparison helper
126
-
126
+ let mut header = headers . iter ( ) ;
127
127
{
128
- let item = header. first ( ) . unwrap ( ) ;
128
+ let item = header. next ( ) . unwrap ( ) ;
129
129
130
130
assert_eq ! ( to_u8( & item. level) , to_u8( & Level :: H1 ) ) ;
131
131
assert_eq ! ( item. value, "H1" ) ;
132
132
} // #1
133
-
134
133
{
135
- let item = header. get ( 1 ) . unwrap ( ) ;
134
+ let item = header. next ( ) . unwrap ( ) ;
136
135
137
136
assert_eq ! ( to_u8( & item. level) , to_u8( & Level :: H2 ) ) ;
138
137
assert_eq ! ( item. value, "H2" ) ;
139
138
} // #2
140
-
141
139
{
142
- let item = header. get ( 2 ) . unwrap ( ) ;
140
+ let item = header. next ( ) . unwrap ( ) ;
143
141
144
142
assert_eq ! ( to_u8( & item. level) , to_u8( & Level :: H3 ) ) ;
145
143
assert_eq ! ( item. value, "H3" ) ;
146
144
} // #3
147
145
148
146
// Validate links
149
- assert_eq ! ( link . len( ) , 8 ) ;
150
-
147
+ assert_eq ! ( links . len( ) , 9 ) ;
148
+ let mut link = links . iter ( ) ;
151
149
{
152
- let item = link. first ( ) . unwrap ( ) ;
150
+ let item = link. next ( ) . unwrap ( ) ;
153
151
154
152
assert_eq ! ( item. alt, None ) ;
155
153
assert_eq ! ( item. timestamp, None ) ;
156
154
assert_eq ! ( item. uri. to_str( ) , "gemini://geminiprotocol.net" ) ;
157
155
} // #1
158
-
159
156
{
160
- let item = link. get ( 1 ) . unwrap ( ) ;
157
+ let item = link. next ( ) . unwrap ( ) ;
161
158
162
159
assert_eq ! ( item. alt, None ) ;
163
160
@@ -168,17 +165,15 @@ fn gemtext() {
168
165
169
166
assert_eq ! ( item. uri. to_str( ) , "gemini://geminiprotocol.net" ) ;
170
167
} // #2
171
-
172
168
{
173
- let item = link. get ( 2 ) . unwrap ( ) ;
169
+ let item = link. next ( ) . unwrap ( ) ;
174
170
175
171
assert_eq ! ( item. alt. clone( ) . unwrap( ) , "Gemini" ) ;
176
172
assert_eq ! ( item. timestamp, None ) ;
177
173
assert_eq ! ( item. uri. to_str( ) , "gemini://geminiprotocol.net" ) ;
178
174
} // #3
179
-
180
175
{
181
- let item = link. get ( 3 ) . unwrap ( ) ;
176
+ let item = link. next ( ) . unwrap ( ) ;
182
177
183
178
assert_eq ! ( item. alt. clone( ) . unwrap( ) , "Gemini" ) ;
184
179
@@ -189,9 +184,8 @@ fn gemtext() {
189
184
190
185
assert_eq ! ( item. uri. to_str( ) , "gemini://geminiprotocol.net" ) ;
191
186
} // #4
192
-
193
187
{
194
- let item = link. get ( 4 ) . unwrap ( ) ;
188
+ let item = link. next ( ) . unwrap ( ) ;
195
189
196
190
assert_eq ! ( item. alt. clone( ) . unwrap( ) , "Gemini" ) ;
197
191
@@ -205,30 +199,34 @@ fn gemtext() {
205
199
"gemini://geminiprotocol.net/docs/gemtext.gmi"
206
200
) ;
207
201
} // #5
208
-
209
202
{
210
- let item = link. get ( 5 ) . unwrap ( ) ;
203
+ let item = link. next ( ) . unwrap ( ) ;
211
204
212
205
assert_eq ! ( item. alt, None ) ;
213
206
assert_eq ! ( item. timestamp, None ) ;
214
207
assert_eq ! ( item. uri. to_str( ) , "gemini://geminiprotocol.net" ) ;
215
208
} // #6
216
-
217
209
{
218
- let item = link. get ( 6 ) . unwrap ( ) ;
210
+ let item = link. next ( ) . unwrap ( ) ;
219
211
220
212
assert_eq ! ( item. alt, None ) ;
221
213
assert_eq ! ( item. timestamp, None ) ;
222
214
assert_eq ! ( item. uri. to_str( ) , "gemini://geminiprotocol.net" ) ;
223
215
} // #7
216
+ {
217
+ let item = link. next ( ) . unwrap ( ) ;
224
218
219
+ assert_eq ! ( item. alt, None ) ;
220
+ assert_eq ! ( item. timestamp, None ) ;
221
+ assert_eq ! ( item. uri. to_str( ) , "gemini://geminiprotocol.net/path" ) ;
222
+ } // #8
225
223
{
226
- let item = link. get ( 7 ) . unwrap ( ) ;
224
+ let item = link. next ( ) . unwrap ( ) ;
227
225
228
226
assert_eq ! ( item. alt, None ) ;
229
227
assert_eq ! ( item. timestamp, None ) ;
230
228
assert_eq ! ( item. uri. to_str( ) , "gemini://geminiprotocol.net/" ) ;
231
- } // #8
229
+ } // #9
232
230
233
231
// Validate lists
234
232
assert_eq ! ( list. len( ) , 2 ) ;
0 commit comments