##// END OF EJS Templates
test-parse-date: defines explicit start/end dates for DST...
Sébastien Brissaud -
r28441:79d8e792 default
parent child Browse files
Show More
@@ -1,258 +1,260 b''
1 This runs with TZ="GMT"
1 This runs with TZ="GMT"
2
2
3 $ hg init
3 $ hg init
4 $ echo "test-parse-date" > a
4 $ echo "test-parse-date" > a
5 $ hg add a
5 $ hg add a
6 $ hg ci -d "2006-02-01 13:00:30" -m "rev 0"
6 $ hg ci -d "2006-02-01 13:00:30" -m "rev 0"
7 $ echo "hi!" >> a
7 $ echo "hi!" >> a
8 $ hg ci -d "2006-02-01 13:00:30 -0500" -m "rev 1"
8 $ hg ci -d "2006-02-01 13:00:30 -0500" -m "rev 1"
9 $ hg tag -d "2006-04-15 13:30" "Hi"
9 $ hg tag -d "2006-04-15 13:30" "Hi"
10 $ hg backout --merge -d "2006-04-15 13:30 +0200" -m "rev 3" 1
10 $ hg backout --merge -d "2006-04-15 13:30 +0200" -m "rev 3" 1
11 reverting a
11 reverting a
12 created new head
12 created new head
13 changeset 3:107ce1ee2b43 backs out changeset 1:25a1420a55f8
13 changeset 3:107ce1ee2b43 backs out changeset 1:25a1420a55f8
14 merging with changeset 3:107ce1ee2b43
14 merging with changeset 3:107ce1ee2b43
15 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
15 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
16 (branch merge, don't forget to commit)
16 (branch merge, don't forget to commit)
17 $ hg ci -d "1150000000 14400" -m "rev 4 (merge)"
17 $ hg ci -d "1150000000 14400" -m "rev 4 (merge)"
18 $ echo "fail" >> a
18 $ echo "fail" >> a
19 $ hg ci -d "should fail" -m "fail"
19 $ hg ci -d "should fail" -m "fail"
20 abort: invalid date: 'should fail'
20 abort: invalid date: 'should fail'
21 [255]
21 [255]
22 $ hg ci -d "100000000000000000 1400" -m "fail"
22 $ hg ci -d "100000000000000000 1400" -m "fail"
23 abort: date exceeds 32 bits: 100000000000000000
23 abort: date exceeds 32 bits: 100000000000000000
24 [255]
24 [255]
25 $ hg ci -d "100000 1400000" -m "fail"
25 $ hg ci -d "100000 1400000" -m "fail"
26 abort: impossible time zone offset: 1400000
26 abort: impossible time zone offset: 1400000
27 [255]
27 [255]
28
28
29 Check with local timezone other than GMT and with DST
29 Check with local timezone other than GMT and with DST
30
30
31 $ TZ="PST+8PDT"
31 $ TZ="PST+8PDT+7,M4.1.0/02:00:00,M10.5.0/02:00:00"
32 $ export TZ
32 $ export TZ
33
33
34 PST=UTC-8 / PDT=UTC-7
34 PST=UTC-8 / PDT=UTC-7
35 Summer time begins on April's first Sunday at 2:00am,
36 and ends on October's last Sunday at 2:00am.
35
37
36 $ hg debugrebuildstate
38 $ hg debugrebuildstate
37 $ echo "a" > a
39 $ echo "a" > a
38 $ hg ci -d "2006-07-15 13:30" -m "summer@UTC-7"
40 $ hg ci -d "2006-07-15 13:30" -m "summer@UTC-7"
39 $ hg debugrebuildstate
41 $ hg debugrebuildstate
40 $ echo "b" > a
42 $ echo "b" > a
41 $ hg ci -d "2006-07-15 13:30 +0500" -m "summer@UTC+5"
43 $ hg ci -d "2006-07-15 13:30 +0500" -m "summer@UTC+5"
42 $ hg debugrebuildstate
44 $ hg debugrebuildstate
43 $ echo "c" > a
45 $ echo "c" > a
44 $ hg ci -d "2006-01-15 13:30" -m "winter@UTC-8"
46 $ hg ci -d "2006-01-15 13:30" -m "winter@UTC-8"
45 $ hg debugrebuildstate
47 $ hg debugrebuildstate
46 $ echo "d" > a
48 $ echo "d" > a
47 $ hg ci -d "2006-01-15 13:30 +0500" -m "winter@UTC+5"
49 $ hg ci -d "2006-01-15 13:30 +0500" -m "winter@UTC+5"
48 $ hg log --template '{date|date}\n'
50 $ hg log --template '{date|date}\n'
49 Sun Jan 15 13:30:00 2006 +0500
51 Sun Jan 15 13:30:00 2006 +0500
50 Sun Jan 15 13:30:00 2006 -0800
52 Sun Jan 15 13:30:00 2006 -0800
51 Sat Jul 15 13:30:00 2006 +0500
53 Sat Jul 15 13:30:00 2006 +0500
52 Sat Jul 15 13:30:00 2006 -0700
54 Sat Jul 15 13:30:00 2006 -0700
53 Sun Jun 11 00:26:40 2006 -0400
55 Sun Jun 11 00:26:40 2006 -0400
54 Sat Apr 15 13:30:00 2006 +0200
56 Sat Apr 15 13:30:00 2006 +0200
55 Sat Apr 15 13:30:00 2006 +0000
57 Sat Apr 15 13:30:00 2006 +0000
56 Wed Feb 01 13:00:30 2006 -0500
58 Wed Feb 01 13:00:30 2006 -0500
57 Wed Feb 01 13:00:30 2006 +0000
59 Wed Feb 01 13:00:30 2006 +0000
58
60
59 Test issue1014 (fractional timezones)
61 Test issue1014 (fractional timezones)
60
62
61 $ hg debugdate "1000000000 -16200" # 0430
63 $ hg debugdate "1000000000 -16200" # 0430
62 internal: 1000000000 -16200
64 internal: 1000000000 -16200
63 standard: Sun Sep 09 06:16:40 2001 +0430
65 standard: Sun Sep 09 06:16:40 2001 +0430
64 $ hg debugdate "1000000000 -15300" # 0415
66 $ hg debugdate "1000000000 -15300" # 0415
65 internal: 1000000000 -15300
67 internal: 1000000000 -15300
66 standard: Sun Sep 09 06:01:40 2001 +0415
68 standard: Sun Sep 09 06:01:40 2001 +0415
67 $ hg debugdate "1000000000 -14400" # 0400
69 $ hg debugdate "1000000000 -14400" # 0400
68 internal: 1000000000 -14400
70 internal: 1000000000 -14400
69 standard: Sun Sep 09 05:46:40 2001 +0400
71 standard: Sun Sep 09 05:46:40 2001 +0400
70 $ hg debugdate "1000000000 0" # GMT
72 $ hg debugdate "1000000000 0" # GMT
71 internal: 1000000000 0
73 internal: 1000000000 0
72 standard: Sun Sep 09 01:46:40 2001 +0000
74 standard: Sun Sep 09 01:46:40 2001 +0000
73 $ hg debugdate "1000000000 14400" # -0400
75 $ hg debugdate "1000000000 14400" # -0400
74 internal: 1000000000 14400
76 internal: 1000000000 14400
75 standard: Sat Sep 08 21:46:40 2001 -0400
77 standard: Sat Sep 08 21:46:40 2001 -0400
76 $ hg debugdate "1000000000 15300" # -0415
78 $ hg debugdate "1000000000 15300" # -0415
77 internal: 1000000000 15300
79 internal: 1000000000 15300
78 standard: Sat Sep 08 21:31:40 2001 -0415
80 standard: Sat Sep 08 21:31:40 2001 -0415
79 $ hg debugdate "1000000000 16200" # -0430
81 $ hg debugdate "1000000000 16200" # -0430
80 internal: 1000000000 16200
82 internal: 1000000000 16200
81 standard: Sat Sep 08 21:16:40 2001 -0430
83 standard: Sat Sep 08 21:16:40 2001 -0430
82 $ hg debugdate "Sat Sep 08 21:16:40 2001 +0430"
84 $ hg debugdate "Sat Sep 08 21:16:40 2001 +0430"
83 internal: 999967600 -16200
85 internal: 999967600 -16200
84 standard: Sat Sep 08 21:16:40 2001 +0430
86 standard: Sat Sep 08 21:16:40 2001 +0430
85 $ hg debugdate "Sat Sep 08 21:16:40 2001 -0430"
87 $ hg debugdate "Sat Sep 08 21:16:40 2001 -0430"
86 internal: 1000000000 16200
88 internal: 1000000000 16200
87 standard: Sat Sep 08 21:16:40 2001 -0430
89 standard: Sat Sep 08 21:16:40 2001 -0430
88
90
89 Test 12-hours times
91 Test 12-hours times
90
92
91 $ hg debugdate "2006-02-01 1:00:30PM +0000"
93 $ hg debugdate "2006-02-01 1:00:30PM +0000"
92 internal: 1138798830 0
94 internal: 1138798830 0
93 standard: Wed Feb 01 13:00:30 2006 +0000
95 standard: Wed Feb 01 13:00:30 2006 +0000
94 $ hg debugdate "1:00:30PM" > /dev/null
96 $ hg debugdate "1:00:30PM" > /dev/null
95
97
96 Normal range
98 Normal range
97
99
98 $ hg log -d -1
100 $ hg log -d -1
99
101
100 Negative range
102 Negative range
101
103
102 $ hg log -d "--2"
104 $ hg log -d "--2"
103 abort: -2 must be nonnegative (see "hg help dates")
105 abort: -2 must be nonnegative (see "hg help dates")
104 [255]
106 [255]
105
107
106 Whitespace only
108 Whitespace only
107
109
108 $ hg log -d " "
110 $ hg log -d " "
109 abort: dates cannot consist entirely of whitespace
111 abort: dates cannot consist entirely of whitespace
110 [255]
112 [255]
111
113
112 Test date formats with '>' or '<' accompanied by space characters
114 Test date formats with '>' or '<' accompanied by space characters
113
115
114 $ hg log -d '>' --template '{date|date}\n'
116 $ hg log -d '>' --template '{date|date}\n'
115 abort: invalid day spec, use '>DATE'
117 abort: invalid day spec, use '>DATE'
116 [255]
118 [255]
117 $ hg log -d '<' --template '{date|date}\n'
119 $ hg log -d '<' --template '{date|date}\n'
118 abort: invalid day spec, use '<DATE'
120 abort: invalid day spec, use '<DATE'
119 [255]
121 [255]
120
122
121 $ hg log -d ' >' --template '{date|date}\n'
123 $ hg log -d ' >' --template '{date|date}\n'
122 abort: invalid day spec, use '>DATE'
124 abort: invalid day spec, use '>DATE'
123 [255]
125 [255]
124 $ hg log -d ' <' --template '{date|date}\n'
126 $ hg log -d ' <' --template '{date|date}\n'
125 abort: invalid day spec, use '<DATE'
127 abort: invalid day spec, use '<DATE'
126 [255]
128 [255]
127
129
128 $ hg log -d '> ' --template '{date|date}\n'
130 $ hg log -d '> ' --template '{date|date}\n'
129 abort: invalid day spec, use '>DATE'
131 abort: invalid day spec, use '>DATE'
130 [255]
132 [255]
131 $ hg log -d '< ' --template '{date|date}\n'
133 $ hg log -d '< ' --template '{date|date}\n'
132 abort: invalid day spec, use '<DATE'
134 abort: invalid day spec, use '<DATE'
133 [255]
135 [255]
134
136
135 $ hg log -d ' > ' --template '{date|date}\n'
137 $ hg log -d ' > ' --template '{date|date}\n'
136 abort: invalid day spec, use '>DATE'
138 abort: invalid day spec, use '>DATE'
137 [255]
139 [255]
138 $ hg log -d ' < ' --template '{date|date}\n'
140 $ hg log -d ' < ' --template '{date|date}\n'
139 abort: invalid day spec, use '<DATE'
141 abort: invalid day spec, use '<DATE'
140 [255]
142 [255]
141
143
142 $ hg log -d '>02/01' --template '{date|date}\n'
144 $ hg log -d '>02/01' --template '{date|date}\n'
143 $ hg log -d '<02/01' --template '{date|date}\n'
145 $ hg log -d '<02/01' --template '{date|date}\n'
144 Sun Jan 15 13:30:00 2006 +0500
146 Sun Jan 15 13:30:00 2006 +0500
145 Sun Jan 15 13:30:00 2006 -0800
147 Sun Jan 15 13:30:00 2006 -0800
146 Sat Jul 15 13:30:00 2006 +0500
148 Sat Jul 15 13:30:00 2006 +0500
147 Sat Jul 15 13:30:00 2006 -0700
149 Sat Jul 15 13:30:00 2006 -0700
148 Sun Jun 11 00:26:40 2006 -0400
150 Sun Jun 11 00:26:40 2006 -0400
149 Sat Apr 15 13:30:00 2006 +0200
151 Sat Apr 15 13:30:00 2006 +0200
150 Sat Apr 15 13:30:00 2006 +0000
152 Sat Apr 15 13:30:00 2006 +0000
151 Wed Feb 01 13:00:30 2006 -0500
153 Wed Feb 01 13:00:30 2006 -0500
152 Wed Feb 01 13:00:30 2006 +0000
154 Wed Feb 01 13:00:30 2006 +0000
153
155
154 $ hg log -d ' >02/01' --template '{date|date}\n'
156 $ hg log -d ' >02/01' --template '{date|date}\n'
155 $ hg log -d ' <02/01' --template '{date|date}\n'
157 $ hg log -d ' <02/01' --template '{date|date}\n'
156 Sun Jan 15 13:30:00 2006 +0500
158 Sun Jan 15 13:30:00 2006 +0500
157 Sun Jan 15 13:30:00 2006 -0800
159 Sun Jan 15 13:30:00 2006 -0800
158 Sat Jul 15 13:30:00 2006 +0500
160 Sat Jul 15 13:30:00 2006 +0500
159 Sat Jul 15 13:30:00 2006 -0700
161 Sat Jul 15 13:30:00 2006 -0700
160 Sun Jun 11 00:26:40 2006 -0400
162 Sun Jun 11 00:26:40 2006 -0400
161 Sat Apr 15 13:30:00 2006 +0200
163 Sat Apr 15 13:30:00 2006 +0200
162 Sat Apr 15 13:30:00 2006 +0000
164 Sat Apr 15 13:30:00 2006 +0000
163 Wed Feb 01 13:00:30 2006 -0500
165 Wed Feb 01 13:00:30 2006 -0500
164 Wed Feb 01 13:00:30 2006 +0000
166 Wed Feb 01 13:00:30 2006 +0000
165
167
166 $ hg log -d '> 02/01' --template '{date|date}\n'
168 $ hg log -d '> 02/01' --template '{date|date}\n'
167 $ hg log -d '< 02/01' --template '{date|date}\n'
169 $ hg log -d '< 02/01' --template '{date|date}\n'
168 Sun Jan 15 13:30:00 2006 +0500
170 Sun Jan 15 13:30:00 2006 +0500
169 Sun Jan 15 13:30:00 2006 -0800
171 Sun Jan 15 13:30:00 2006 -0800
170 Sat Jul 15 13:30:00 2006 +0500
172 Sat Jul 15 13:30:00 2006 +0500
171 Sat Jul 15 13:30:00 2006 -0700
173 Sat Jul 15 13:30:00 2006 -0700
172 Sun Jun 11 00:26:40 2006 -0400
174 Sun Jun 11 00:26:40 2006 -0400
173 Sat Apr 15 13:30:00 2006 +0200
175 Sat Apr 15 13:30:00 2006 +0200
174 Sat Apr 15 13:30:00 2006 +0000
176 Sat Apr 15 13:30:00 2006 +0000
175 Wed Feb 01 13:00:30 2006 -0500
177 Wed Feb 01 13:00:30 2006 -0500
176 Wed Feb 01 13:00:30 2006 +0000
178 Wed Feb 01 13:00:30 2006 +0000
177
179
178 $ hg log -d ' > 02/01' --template '{date|date}\n'
180 $ hg log -d ' > 02/01' --template '{date|date}\n'
179 $ hg log -d ' < 02/01' --template '{date|date}\n'
181 $ hg log -d ' < 02/01' --template '{date|date}\n'
180 Sun Jan 15 13:30:00 2006 +0500
182 Sun Jan 15 13:30:00 2006 +0500
181 Sun Jan 15 13:30:00 2006 -0800
183 Sun Jan 15 13:30:00 2006 -0800
182 Sat Jul 15 13:30:00 2006 +0500
184 Sat Jul 15 13:30:00 2006 +0500
183 Sat Jul 15 13:30:00 2006 -0700
185 Sat Jul 15 13:30:00 2006 -0700
184 Sun Jun 11 00:26:40 2006 -0400
186 Sun Jun 11 00:26:40 2006 -0400
185 Sat Apr 15 13:30:00 2006 +0200
187 Sat Apr 15 13:30:00 2006 +0200
186 Sat Apr 15 13:30:00 2006 +0000
188 Sat Apr 15 13:30:00 2006 +0000
187 Wed Feb 01 13:00:30 2006 -0500
189 Wed Feb 01 13:00:30 2006 -0500
188 Wed Feb 01 13:00:30 2006 +0000
190 Wed Feb 01 13:00:30 2006 +0000
189
191
190 $ hg log -d '>02/01 ' --template '{date|date}\n'
192 $ hg log -d '>02/01 ' --template '{date|date}\n'
191 $ hg log -d '<02/01 ' --template '{date|date}\n'
193 $ hg log -d '<02/01 ' --template '{date|date}\n'
192 Sun Jan 15 13:30:00 2006 +0500
194 Sun Jan 15 13:30:00 2006 +0500
193 Sun Jan 15 13:30:00 2006 -0800
195 Sun Jan 15 13:30:00 2006 -0800
194 Sat Jul 15 13:30:00 2006 +0500
196 Sat Jul 15 13:30:00 2006 +0500
195 Sat Jul 15 13:30:00 2006 -0700
197 Sat Jul 15 13:30:00 2006 -0700
196 Sun Jun 11 00:26:40 2006 -0400
198 Sun Jun 11 00:26:40 2006 -0400
197 Sat Apr 15 13:30:00 2006 +0200
199 Sat Apr 15 13:30:00 2006 +0200
198 Sat Apr 15 13:30:00 2006 +0000
200 Sat Apr 15 13:30:00 2006 +0000
199 Wed Feb 01 13:00:30 2006 -0500
201 Wed Feb 01 13:00:30 2006 -0500
200 Wed Feb 01 13:00:30 2006 +0000
202 Wed Feb 01 13:00:30 2006 +0000
201
203
202 $ hg log -d ' >02/01 ' --template '{date|date}\n'
204 $ hg log -d ' >02/01 ' --template '{date|date}\n'
203 $ hg log -d ' <02/01 ' --template '{date|date}\n'
205 $ hg log -d ' <02/01 ' --template '{date|date}\n'
204 Sun Jan 15 13:30:00 2006 +0500
206 Sun Jan 15 13:30:00 2006 +0500
205 Sun Jan 15 13:30:00 2006 -0800
207 Sun Jan 15 13:30:00 2006 -0800
206 Sat Jul 15 13:30:00 2006 +0500
208 Sat Jul 15 13:30:00 2006 +0500
207 Sat Jul 15 13:30:00 2006 -0700
209 Sat Jul 15 13:30:00 2006 -0700
208 Sun Jun 11 00:26:40 2006 -0400
210 Sun Jun 11 00:26:40 2006 -0400
209 Sat Apr 15 13:30:00 2006 +0200
211 Sat Apr 15 13:30:00 2006 +0200
210 Sat Apr 15 13:30:00 2006 +0000
212 Sat Apr 15 13:30:00 2006 +0000
211 Wed Feb 01 13:00:30 2006 -0500
213 Wed Feb 01 13:00:30 2006 -0500
212 Wed Feb 01 13:00:30 2006 +0000
214 Wed Feb 01 13:00:30 2006 +0000
213
215
214 $ hg log -d '> 02/01 ' --template '{date|date}\n'
216 $ hg log -d '> 02/01 ' --template '{date|date}\n'
215 $ hg log -d '< 02/01 ' --template '{date|date}\n'
217 $ hg log -d '< 02/01 ' --template '{date|date}\n'
216 Sun Jan 15 13:30:00 2006 +0500
218 Sun Jan 15 13:30:00 2006 +0500
217 Sun Jan 15 13:30:00 2006 -0800
219 Sun Jan 15 13:30:00 2006 -0800
218 Sat Jul 15 13:30:00 2006 +0500
220 Sat Jul 15 13:30:00 2006 +0500
219 Sat Jul 15 13:30:00 2006 -0700
221 Sat Jul 15 13:30:00 2006 -0700
220 Sun Jun 11 00:26:40 2006 -0400
222 Sun Jun 11 00:26:40 2006 -0400
221 Sat Apr 15 13:30:00 2006 +0200
223 Sat Apr 15 13:30:00 2006 +0200
222 Sat Apr 15 13:30:00 2006 +0000
224 Sat Apr 15 13:30:00 2006 +0000
223 Wed Feb 01 13:00:30 2006 -0500
225 Wed Feb 01 13:00:30 2006 -0500
224 Wed Feb 01 13:00:30 2006 +0000
226 Wed Feb 01 13:00:30 2006 +0000
225
227
226 $ hg log -d ' > 02/01 ' --template '{date|date}\n'
228 $ hg log -d ' > 02/01 ' --template '{date|date}\n'
227 $ hg log -d ' < 02/01 ' --template '{date|date}\n'
229 $ hg log -d ' < 02/01 ' --template '{date|date}\n'
228 Sun Jan 15 13:30:00 2006 +0500
230 Sun Jan 15 13:30:00 2006 +0500
229 Sun Jan 15 13:30:00 2006 -0800
231 Sun Jan 15 13:30:00 2006 -0800
230 Sat Jul 15 13:30:00 2006 +0500
232 Sat Jul 15 13:30:00 2006 +0500
231 Sat Jul 15 13:30:00 2006 -0700
233 Sat Jul 15 13:30:00 2006 -0700
232 Sun Jun 11 00:26:40 2006 -0400
234 Sun Jun 11 00:26:40 2006 -0400
233 Sat Apr 15 13:30:00 2006 +0200
235 Sat Apr 15 13:30:00 2006 +0200
234 Sat Apr 15 13:30:00 2006 +0000
236 Sat Apr 15 13:30:00 2006 +0000
235 Wed Feb 01 13:00:30 2006 -0500
237 Wed Feb 01 13:00:30 2006 -0500
236 Wed Feb 01 13:00:30 2006 +0000
238 Wed Feb 01 13:00:30 2006 +0000
237
239
238 Test issue 3764 (interpreting 'today' and 'yesterday')
240 Test issue 3764 (interpreting 'today' and 'yesterday')
239 $ echo "hello" >> a
241 $ echo "hello" >> a
240 >>> import datetime
242 >>> import datetime
241 >>> today = datetime.date.today().strftime("%b %d")
243 >>> today = datetime.date.today().strftime("%b %d")
242 >>> yesterday = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%b %d")
244 >>> yesterday = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%b %d")
243 >>> dates = open('dates', 'w')
245 >>> dates = open('dates', 'w')
244 >>> dates.write(today + '\n')
246 >>> dates.write(today + '\n')
245 >>> dates.write(yesterday + '\n')
247 >>> dates.write(yesterday + '\n')
246 >>> dates.close()
248 >>> dates.close()
247 $ hg ci -d "`sed -n '1p' dates`" -m "today is a good day to code"
249 $ hg ci -d "`sed -n '1p' dates`" -m "today is a good day to code"
248 $ hg log -d today --template '{desc}\n'
250 $ hg log -d today --template '{desc}\n'
249 today is a good day to code
251 today is a good day to code
250 $ echo "goodbye" >> a
252 $ echo "goodbye" >> a
251 $ hg ci -d "`sed -n '2p' dates`" -m "the time traveler's code"
253 $ hg ci -d "`sed -n '2p' dates`" -m "the time traveler's code"
252 $ hg log -d yesterday --template '{desc}\n'
254 $ hg log -d yesterday --template '{desc}\n'
253 the time traveler's code
255 the time traveler's code
254 $ echo "foo" >> a
256 $ echo "foo" >> a
255 $ hg commit -d now -m 'Explicitly committed now.'
257 $ hg commit -d now -m 'Explicitly committed now.'
256 $ hg log -d today --template '{desc}\n'
258 $ hg log -d today --template '{desc}\n'
257 Explicitly committed now.
259 Explicitly committed now.
258 today is a good day to code
260 today is a good day to code
General Comments 0
You need to be logged in to leave comments. Login now