diff options
author | tsepez <tsepez@chromium.org> | 2016-03-25 10:00:11 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-25 10:00:11 -0700 |
commit | 86a61dc374e8abe351df03a1aa6665013cc39345 (patch) | |
tree | 12e70780099343259eb24730744f53900643d181 /testing/resources/javascript/util_printd.in | |
parent | 65ea3949de6536b1c122eadb4ac7828323fbc408 (diff) | |
download | pdfium-86a61dc374e8abe351df03a1aa6665013cc39345.tar.xz |
util.printd() replaces specified date with current date.
Added test case.
Several bugs going on here:
JS_LocalTime() ignoring argument and returning current time
and not factoring in the time zone adjustment.
Use of FXSYS_floor() silently casts result to float,
losing precision required to extract minutes and seconds.
Pre-existing wcsftime escapes not stripped.
BUG=pdfium:413
Review URL: https://codereview.chromium.org/1833053002
Diffstat (limited to 'testing/resources/javascript/util_printd.in')
-rw-r--r-- | testing/resources/javascript/util_printd.in | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/testing/resources/javascript/util_printd.in b/testing/resources/javascript/util_printd.in new file mode 100644 index 0000000000..f098187cf0 --- /dev/null +++ b/testing/resources/javascript/util_printd.in @@ -0,0 +1,104 @@ +{{header}} +{{object 1 0}} << + /Type /Catalog + /Pages 2 0 R + /OpenAction 10 0 R +>> +endobj +{{object 2 0}} << + /Type /Pages + /Count 1 + /Kids [ + 3 0 R + ] +>> +endobj +% Page number 0. +{{object 3 0}} << + /Type /Page + /Parent 2 0 R + /Resources << + /Font <</F1 15 0 R>> + >> + /Contents [21 0 R] + /MediaBox [0 0 612 792] +>> +% OpenAction action +{{object 10 0}} << + /Type /Action + /S /JavaScript + /JS 11 0 R +>> +endobj +% JS program to exexute +{{object 11 0}} << +>> +stream +function TestOneFormat(str, d) { + try { + app.alert(str + ": " + util.printd(str, d)); + } + catch (e) { + app.alert(str + ": Caught error: " + e); + } +} +function TestOneXFAFormat(str, d, flag) { + try { + app.alert(str + ": " + util.printd(str, d, flag)); + } + catch (e) { + app.alert(str + ": Caught error: " + e); + } +} +// July 4th, 2014 11:59:59 AM local time. +var d1 = new Date(2014, 06, 04, 15, 59, 58); +TestOneFormat("mm/dd/yyyy HH:MM:ss", d1); +TestOneFormat(0, d1); +TestOneFormat(1, d1); +TestOneFormat(2, d1); +TestOneFormat(3, d1); +TestOneFormat("mmmm", d1); +TestOneFormat("mmm", d1); +TestOneFormat("mm", d1); +TestOneFormat("m", d1); +TestOneFormat("dddd", d1); +TestOneFormat("ddd", d1); +TestOneFormat("dd", d1); +TestOneFormat("d", d1); +TestOneFormat("yyyy", d1); +TestOneFormat("yy", d1); +TestOneFormat("HH", d1); +TestOneFormat("H", d1); +TestOneFormat("hh", d1); +// "h" is inconsitent between platforms: " 3" vs. "3" +TestOneFormat("MM", d1); +TestOneFormat("M", d1); +TestOneFormat("ss", d1); +TestOneFormat("s", d1); +// "tt" is inconsitent between platforms: "PM" vs, "pm" vs. "P" +TestOneFormat("t", d1); +TestOneFormat("abc.efg.i.kl.nopqr..uvwxyzABC.EFG.I.KL.NOPQR..UVWXYZ0123456780", d1); +TestOneFormat("!@#$^&*()-_<>[];:~", d1); +TestOneFormat("%z %d %%z %%d %%%z %%%d %%% hh:MM", d1); +TestOneFormat("", d1); +TestOneFormat("mm/dd/yyyy", d1); +TestOneFormat("mm/dd/yyyy", new Date(1850, 0, 1)); +TestOneFormat("mm/dd/yyyy", new Date(2525, 11, 31)); +TestOneFormat("mm/dd/yyyy"); +TestOneFormat(); +TestOneFormat("mm/dd/yyyy", 42); +TestOneFormat("mm/dd/yyyy", "clams"); +TestOneFormat("mm/dd/yyyy", {"clams": 3}); +TestOneFormat("mm/dd/yyyy", ["clams", 3]); +TestOneFormat({"clams": 3}, d1); +TestOneFormat(["clams", 3], d1); +TestOneXFAFormat("mm", d1, false); +TestOneXFAFormat("mm", d1, true); +endstream +endobj +{{xref}} +trailer << + /Root 1 0 R +>> +{{startxref}} +%%EOF |