| Paste number 54984: | uri reference test macro |
| Pasted by: | turbo24prg |
| 6 months, 4 weeks ago | |
| #dylan | Context in IRC logs | |
| Paste contents: |
| Unexpected token ""g:h"". uri-test:25: ----- uri-test:26: "g:h" ("g", "", "h", "", "") => "g:h" uri-test:27: ----- define uri-reference-test test1 "g:h" ("g", "", "h", "", "") => "g:h" end; define macro uri-reference-test-definer { define uri-reference-test ?name:name ?uri:expression (?scheme:expression, ?authority:expression, ?path:expression, ?query:expression, ?fragment:expression) => ?result:expression end; } => { define test "uri-reference-test-" ## ?name () let uri = parse-uri(?uri); check-equal("base-uri scheme", uri.uri-scheme, ?scheme); check-equal("base-uri authority", uri.uri-authority, ?authority); check-equal("base-uri path", build-path(uri), ?path); check-equal("base-uri query", build-query(uri), ?query); check-equal("base-uri fragment", uri.uri-fragment, ?fragment); let target-uri = transform-uris($base-uri, uri); check-equal("target-uri", build-uri(target-uri), ?result); end; } end macro; |
Annotations for this paste:
| Annotation number 1: | works only for the first?! |
| Pasted by: | turbo24prg |
| 6 months, 4 weeks ago | |
| Context in IRC logs | |
| Paste contents: |
Unexpected token ""g"". uri-test:41: --- uri-test:42: "g" ("", "", "g", "", "") => "http://a/b/c/g" uri-test:43: --- define macro uri-reference-test-definer { define uri-reference-test ?name:token ?uri:token (?scheme:token, ?authority:token, ?path:token, ?query:token, ?fragment:token) => ?result:token end } => { define test "uri-reference-" ## ?name () let uri = parse-uri(?uri); check-equal("base-uri scheme", uri.uri-scheme, ?scheme); check-equal("base-uri authority", uri.uri-authority, ?authority); check-equal("base-uri path", build-path(uri), ?path); check-equal("base-uri query", build-query(uri), ?query); check-equal("base-uri fragment", uri.uri-fragment, ?fragment); let target-uri = transform-uris($base-uri, uri); check-equal("target-uri", build-uri(target-uri), ?result); end } end macro; define uri-reference-test test-1 "g:h" ("g", "", "h", "", "") => "g:h" end; define uri-refernece-test test-2 "g" ("", "", "g", "", "") => "http://a/b/c/g" end; define uri-reference-test test-3 "./g" ("", "", "./g", "", "") => "http://a/b/c/g" end; |