in core/src/services/webdav/pager.rs [435:551]
fn test_with_multiple_items_mixed_nginx() {
let xml = r#"<?xml version="1.0" encoding="utf-8"?>
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>/</D:href>
<D:propstat>
<D:prop>
<D:getlastmodified>Fri, 17 Feb 2023 03:37:22 GMT</D:getlastmodified>
<D:resourcetype>
<D:collection />
</D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/test_file_75</D:href>
<D:propstat>
<D:prop>
<D:getcontentlength>1</D:getcontentlength>
<D:getlastmodified>Fri, 17 Feb 2023 03:36:54 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/test_file_36</D:href>
<D:propstat>
<D:prop>
<D:getcontentlength>1</D:getcontentlength>
<D:getlastmodified>Fri, 17 Feb 2023 03:36:54 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/test_file_38</D:href>
<D:propstat>
<D:prop>
<D:getcontentlength>1</D:getcontentlength>
<D:getlastmodified>Fri, 17 Feb 2023 03:36:54 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/test_file_59</D:href>
<D:propstat>
<D:prop>
<D:getcontentlength>1</D:getcontentlength>
<D:getlastmodified>Fri, 17 Feb 2023 03:36:54 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/test_file_9</D:href>
<D:propstat>
<D:prop>
<D:getcontentlength>1</D:getcontentlength>
<D:getlastmodified>Fri, 17 Feb 2023 03:36:54 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/test_file_93</D:href>
<D:propstat>
<D:prop>
<D:getcontentlength>1</D:getcontentlength>
<D:getlastmodified>Fri, 17 Feb 2023 03:36:54 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/test_file_43</D:href>
<D:propstat>
<D:prop>
<D:getcontentlength>1</D:getcontentlength>
<D:getlastmodified>Fri, 17 Feb 2023 03:36:54 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/test_file_95</D:href>
<D:propstat>
<D:prop>
<D:getcontentlength>1</D:getcontentlength>
<D:getlastmodified>Fri, 17 Feb 2023 03:36:54 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus>
"#;
let multistatus: Multistatus = from_str(xml).unwrap();
assert_eq!(multistatus.response.len(), 9);
let first_response = &multistatus.response[0];
assert_eq!(first_response.href, "/");
assert_eq!(
first_response.propstat.prop.getlastmodified,
"Fri, 17 Feb 2023 03:37:22 GMT"
);
}