19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2006 The Android Open Source Project
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License.
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License.
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
171a44d5dcabc18cd5ef111f732ccff91683a1a093Neal Nguyenpackage android.webkit;
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.test.AndroidTestCase;
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.text.format.DateFormat;
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.test.suitebuilder.annotation.MediumTest;
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.Log;
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.webkit.DateSorter;
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.Calendar;
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.Date;
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class WebkitTest extends AndroidTestCase {
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    private static final String LOGTAG = WebkitTest.class.getName();
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    @MediumTest
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    public void testDateSorter() throws Exception {
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        /**
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project         * Note: check the logging output manually to test
369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project         * nothing automated yet, besides object creation
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project         */
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        DateSorter dateSorter = new DateSorter(mContext);
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        Date date = new Date();
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        for (int i = 0; i < DateSorter.DAY_COUNT; i++) {
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            Log.i(LOGTAG, "Boundary " + i + " " + dateSorter.getBoundary(i));
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            Log.i(LOGTAG, "Label " + i + " " + dateSorter.getLabel(i));
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        }
459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        Calendar c = Calendar.getInstance();
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        long time = c.getTimeInMillis();
489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        int index;
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        Log.i(LOGTAG, "now: " + dateSorter.getIndex(time));
509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        for (int i = 0; i < 20; i++) {
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            time -= 8 * 60 * 60 * 1000; // 8 hours
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            date.setTime(time);
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            c.setTime(date);
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            index = dateSorter.getIndex(time);
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            Log.i(LOGTAG, "time: " + DateFormat.format("yyyy/MM/dd kk:mm:ss", c).toString() +
569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    " " + index + " " + dateSorter.getLabel(index));
579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        }
589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60