From bafdcda7be82c723ed346df6a5d0906fad4fbb62 Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 15 Mar 2025 14:57:37 +0200 Subject: [PATCH] update tests --- tests/integration.gmi | 1 + tests/integration.rs | 56 +++++++++++++++++++++---------------------- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/tests/integration.gmi b/tests/integration.gmi index cdb791d..a33000f 100644 --- a/tests/integration.gmi +++ b/tests/integration.gmi @@ -9,6 +9,7 @@ => /docs/gemtext.gmi 1965-01-19 Gemini => //:geminiprotocol.net => //geminiprotocol.net +=> //geminiprotocol.net/path => // * Listing item 1 diff --git a/tests/integration.rs b/tests/integration.rs index cb62878..6c28f35 100644 --- a/tests/integration.rs +++ b/tests/integration.rs @@ -16,8 +16,8 @@ fn gemtext() { // Init tags collection let mut code_inline: Vec = Vec::new(); let mut code_multiline: Vec = Vec::new(); - let mut header: Vec
= Vec::new(); - let mut link: Vec = Vec::new(); + let mut headers: Vec
= Vec::new(); + let mut links: Vec = Vec::new(); let mut list: Vec = Vec::new(); let mut quote: Vec = Vec::new(); @@ -61,13 +61,13 @@ fn gemtext() { // Header if let Some(result) = Header::from(line) { - header.push(result); + headers.push(result); continue; } // Link if let Some(result) = Link::from(line, base.as_ref(), timezone.as_ref()) { - link.push(result); + links.push(result); continue; } @@ -114,7 +114,7 @@ fn gemtext() { } // #2 // Validate headers - assert_eq!(header.len(), 3); + assert_eq!(headers.len(), 3); fn to_u8(level: &Level) -> u8 { match level { @@ -123,41 +123,38 @@ fn gemtext() { Level::H3 => 3, } } // comparison helper - + let mut header = headers.iter(); { - let item = header.first().unwrap(); + let item = header.next().unwrap(); assert_eq!(to_u8(&item.level), to_u8(&Level::H1)); assert_eq!(item.value, "H1"); } // #1 - { - let item = header.get(1).unwrap(); + let item = header.next().unwrap(); assert_eq!(to_u8(&item.level), to_u8(&Level::H2)); assert_eq!(item.value, "H2"); } // #2 - { - let item = header.get(2).unwrap(); + let item = header.next().unwrap(); assert_eq!(to_u8(&item.level), to_u8(&Level::H3)); assert_eq!(item.value, "H3"); } // #3 // Validate links - assert_eq!(link.len(), 8); - + assert_eq!(links.len(), 9); + let mut link = links.iter(); { - let item = link.first().unwrap(); + let item = link.next().unwrap(); assert_eq!(item.alt, None); assert_eq!(item.timestamp, None); assert_eq!(item.uri.to_str(), "gemini://geminiprotocol.net"); } // #1 - { - let item = link.get(1).unwrap(); + let item = link.next().unwrap(); assert_eq!(item.alt, None); @@ -168,17 +165,15 @@ fn gemtext() { assert_eq!(item.uri.to_str(), "gemini://geminiprotocol.net"); } // #2 - { - let item = link.get(2).unwrap(); + let item = link.next().unwrap(); assert_eq!(item.alt.clone().unwrap(), "Gemini"); assert_eq!(item.timestamp, None); assert_eq!(item.uri.to_str(), "gemini://geminiprotocol.net"); } // #3 - { - let item = link.get(3).unwrap(); + let item = link.next().unwrap(); assert_eq!(item.alt.clone().unwrap(), "Gemini"); @@ -189,9 +184,8 @@ fn gemtext() { assert_eq!(item.uri.to_str(), "gemini://geminiprotocol.net"); } // #4 - { - let item = link.get(4).unwrap(); + let item = link.next().unwrap(); assert_eq!(item.alt.clone().unwrap(), "Gemini"); @@ -205,30 +199,34 @@ fn gemtext() { "gemini://geminiprotocol.net/docs/gemtext.gmi" ); } // #5 - { - let item = link.get(5).unwrap(); + let item = link.next().unwrap(); assert_eq!(item.alt, None); assert_eq!(item.timestamp, None); assert_eq!(item.uri.to_str(), "gemini://geminiprotocol.net"); } // #6 - { - let item = link.get(6).unwrap(); + let item = link.next().unwrap(); assert_eq!(item.alt, None); assert_eq!(item.timestamp, None); assert_eq!(item.uri.to_str(), "gemini://geminiprotocol.net"); } // #7 - { - let item = link.get(7).unwrap(); + let item = link.next().unwrap(); + + assert_eq!(item.alt, None); + assert_eq!(item.timestamp, None); + assert_eq!(item.uri.to_str(), "gemini://geminiprotocol.net/path"); + } // #8 + { + let item = link.next().unwrap(); assert_eq!(item.alt, None); assert_eq!(item.timestamp, None); assert_eq!(item.uri.to_str(), "gemini://geminiprotocol.net/"); - } // #8 + } // #9 // Validate lists assert_eq!(list.len(), 2);