diff --git a/src/page-file.rkt b/src/page-file.rkt index 7635eb4..c7018b2 100644 --- a/src/page-file.rkt +++ b/src/page-file.rkt @@ -25,17 +25,7 @@ (module+ test (require rackunit) (define test-media-detail - '#hasheq((fileTitle . "Example file") - (videoEmbedCode . "") - (imageUrl . "https://static.wikia.nocookie.net/examplefile") - (rawImageUrl . "https://static.wikia.nocookie.net/examplefile") - (userName . "blankie") - (isPostedIn . #t) - (smallerArticleList . (#hasheq((title . "Example_article") - (titleText . "Example article")))) - (articleListIsSmaller . 0) - (exists . #t) - (imageDescription . #f)))) + '#hasheq((fileTitle . "Example file") (videoEmbedCode . "") (imageUrl . "https://static.wikia.nocookie.net/examplefile") (rawImageUrl . "https://static.wikia.nocookie.net/examplefile") (userName . "blankie") (isPostedIn . #t) (smallerArticleList . (#hasheq((title . "Example_article") (titleText . "Example article")))) (articleListIsSmaller . 0) (exists . #t) (imageDescription . #f)))) (define (url-content-type url) (log-outgoing url) @@ -73,29 +63,29 @@ #:wikiname wikiname #:title title #:license license - `(div ,(if (non-empty-string? video-embed-code) - (update-tree-wiki (html->xexp (preprocess-html-wiki video-embed-code)) wikiname) - (get-media-html image-url image-content-type)) - (p ,(if (non-empty-string? video-embed-code) - `"" - `(span (a (@ (href ,maybe-proxied-raw-image-url)) "View original file") ". ")) - "Added by " - (a (@ (href ,(format "/~a/wiki/User:~a" wikiname username))) ,username) - "." - ,(if is-posted-in - `(span " Posted in " - ,@(map (λ (article) - (define page-path (jp "/title" article)) - (define title (jp "/titleText" article page-path)) - `(span ,(if (eq? (car smaller-article-list) article) "" ", ") - (a (@ (href ,(format "/~a/wiki/~a" wikiname page-path))) - ,title))) - smaller-article-list) - ,(if (eq? article-list-is-smaller 1) "…" ".")) - `"")) - ,(if (string? image-description) - (update-tree-wiki (html->xexp (preprocess-html-wiki image-description)) wikiname) - "")))) + `(div + ,(if (non-empty-string? video-embed-code) + (update-tree-wiki (html->xexp (preprocess-html-wiki video-embed-code)) wikiname) + (get-media-html image-url image-content-type)) + (p ,(if (non-empty-string? video-embed-code) + `"" + `(span (a (@ (href ,maybe-proxied-raw-image-url)) "View original file") ". ")) + "Added by " + (a (@ (href ,(format "/~a/wiki/User:~a" wikiname username))) ,username) + "." + ,(if is-posted-in + `(span " Posted in " + ,@(map (λ (article) + (define page-path (jp "/title" article)) + (define title (jp "/titleText" article page-path)) + `(span ,(if (eq? (car smaller-article-list) article) "" ", ") + (a (@ (href ,(format "/~a/wiki/~a" wikiname page-path))) ,title))) + smaller-article-list) + ,(if (eq? article-list-is-smaller 1) "…" ".")) + `"")) + ,(if (string? image-description) + (update-tree-wiki (html->xexp (preprocess-html-wiki image-description)) wikiname) + "")))) (define (page-file req) (define wikiname (path/param-path (first (url-path (request-uri req))))) @@ -156,11 +146,10 @@ (check-equal? (get-media-html "https://example.com" #f) `"")) (module+ test (parameterize ([(config-parameter 'strict_proxy) "true"]) - (check-not-false - ((query-selector - (attribute-selector 'src "/proxy?dest=https%3A%2F%2Fstatic.wikia.nocookie.net%2Fexamplefile") - (generate-results-page #:source-url "" - #:wikiname "test" - #:title "File:Example file" - #:media-detail test-media-detail - #:image-content-type "image/jpeg")))))) + (check-not-false ((query-selector (attribute-selector 'src "/proxy?dest=https%3A%2F%2Fstatic.wikia.nocookie.net%2Fexamplefile") + (generate-results-page + #:source-url "" + #:wikiname "test" + #:title "File:Example file" + #:media-detail test-media-detail + #:image-content-type "image/jpeg"))))))