|
1 | 1 | #lang scheme/base
|
2 | 2 |
|
3 |
| -(require (for-syntax scheme/base) |
4 |
| - "../test-base.ss") |
| 3 | +(require "../test-base.ss") |
5 | 4 |
|
6 |
| -(require (for-syntax "syntax-prerender.ss" |
| 5 | +(require (for-syntax scheme/base |
| 6 | + "syntax-prerender.ss" |
7 | 7 | "syntax-expand.ss")
|
8 |
| - srfi/19 |
9 |
| - (unlib-in time) |
10 |
| - "../test-base.ss" |
11 | 8 | "../javascript/javascript.ss"
|
12 | 9 | "expander.ss"
|
13 | 10 | "render.ss"
|
|
20 | 17 | (define url2 (string->url "http://www.example.com?a=b&c=d"))
|
21 | 18 | (define text "Text")
|
22 | 19 | (define sym 'symbol)
|
23 |
| -(define utc-date (date->time-utc (make-date 0 56 34 12 01 02 2003 0))) |
24 |
| -(define tai-date (date->time-tai (make-date 0 56 34 12 01 02 2003 0))) |
| 20 | + |
| 21 | +; GMT: |
| 22 | +(define utc-winter-date (date->time-utc (make-date 0 56 34 12 01 02 2003))) |
| 23 | +(define tai-winter-date (date->time-tai (make-date 0 56 34 12 01 02 2003))) |
| 24 | + |
| 25 | +; BST: |
| 26 | +(define utc-summer-date (date->time-utc (make-date 0 56 34 12 01 07 2003))) |
| 27 | +(define tai-summer-date (date->time-tai (make-date 0 56 34 12 01 07 2003))) |
25 | 28 |
|
26 | 29 | (define-xml-syntax (!wrap expr1 expr2)
|
27 | 30 | (xml expr1 expr2 expr1))
|
|
44 | 47 | (test-suite "render.ss"
|
45 | 48 |
|
46 | 49 | (test-case "literals"
|
47 |
| - (check-xml #t "yes" "true") |
48 |
| - (check-xml #f "" "false") |
49 |
| - (check-xml 12345 "12345" "number") |
50 |
| - (check-xml "blah &\"<>" "blah &"<>" "string") |
51 |
| - (check-xml 'blah\&\"<> "blah&"<>" "symbol") |
52 |
| - (check-xml #"blah &\"<>" "blah &"<>" "bytes") |
53 |
| - ; These checks give different results depending on your time zone and DST settings: |
54 |
| - (let ([hour (+ 12 (floor (/ (current-time-zone-offset) (* 60 60))))]) |
55 |
| - (check-xml ,utc-date (format "2003-02-01 ~a:34:56" hour) "time-utc") |
56 |
| - (check-xml ,tai-date (format "2003-02-01 ~a:34:56" hour) "time-tai"))) |
| 50 | + (check-xml #t "yes" "true") |
| 51 | + (check-xml #f "" "false") |
| 52 | + (check-xml 12345 "12345" "number") |
| 53 | + (check-xml "blah &\"<>" "blah &"<>" "string") |
| 54 | + (check-xml 'blah\&\"<> "blah&"<>" "symbol") |
| 55 | + (check-xml #"blah &\"<>" "blah &"<>" "bytes") |
| 56 | + ; Times are rendered in the correct immediate time zone: |
| 57 | + (check-xml ,utc-winter-date "2003-02-01 12:34:56" "time-utc (GMT)") |
| 58 | + (check-xml ,tai-winter-date "2003-02-01 12:34:56" "time-tai (GMT)") |
| 59 | + (check-xml ,utc-summer-date "2003-07-01 12:34:56" "time-utc (BST)") |
| 60 | + (check-xml ,tai-summer-date "2003-07-01 12:34:56" "time-tai (BST)") |
| 61 | + (parameterize ([current-tz "PST8PDT"]) |
| 62 | + (check-xml ,utc-winter-date "2003-02-01 04:34:56" "time-utc (PST)") |
| 63 | + (check-xml ,tai-winter-date "2003-02-01 04:34:56" "time-tai (PST)") |
| 64 | + (check-xml ,utc-summer-date "2003-07-01 04:34:56" "time-utc (PDT)") |
| 65 | + (check-xml ,tai-summer-date "2003-07-01 04:34:56" "time-tai (PDT)"))) |
57 | 66 |
|
58 | 67 | (test-case "raw"
|
59 | 68 | (check-xml (!raw "&\"<>") "&\"<>" "string")
|
|
0 commit comments