116c4d154dca43c662571129af31b27433b919a32Adam Lesinski/* 216c4d154dca43c662571129af31b27433b919a32Adam Lesinski * Copyright (C) 2011 The Android Open Source Project 316c4d154dca43c662571129af31b27433b919a32Adam Lesinski * 416c4d154dca43c662571129af31b27433b919a32Adam Lesinski * Licensed under the Apache License, Version 2.0 (the "License"); 516c4d154dca43c662571129af31b27433b919a32Adam Lesinski * you may not use this file except in compliance with the License. 616c4d154dca43c662571129af31b27433b919a32Adam Lesinski * You may obtain a copy of the License at 716c4d154dca43c662571129af31b27433b919a32Adam Lesinski * 816c4d154dca43c662571129af31b27433b919a32Adam Lesinski * http://www.apache.org/licenses/LICENSE-2.0 916c4d154dca43c662571129af31b27433b919a32Adam Lesinski * 1016c4d154dca43c662571129af31b27433b919a32Adam Lesinski * Unless required by applicable law or agreed to in writing, software 1116c4d154dca43c662571129af31b27433b919a32Adam Lesinski * distributed under the License is distributed on an "AS IS" BASIS, 1216c4d154dca43c662571129af31b27433b919a32Adam Lesinski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1316c4d154dca43c662571129af31b27433b919a32Adam Lesinski * See the License for the specific language governing permissions and 1416c4d154dca43c662571129af31b27433b919a32Adam Lesinski * limitations under the License. 1516c4d154dca43c662571129af31b27433b919a32Adam Lesinski */ 1616c4d154dca43c662571129af31b27433b919a32Adam Lesinski 17560566d2915c03bed338fc532ac7f7aa3620cfdfNarayan Kamath#define LOG_TAG "ZipUtils_test" 1816c4d154dca43c662571129af31b27433b919a32Adam Lesinski#include <utils/Log.h> 19560566d2915c03bed338fc532ac7f7aa3620cfdfNarayan Kamath#include <androidfw/ZipUtils.h> 2016c4d154dca43c662571129af31b27433b919a32Adam Lesinski 2116c4d154dca43c662571129af31b27433b919a32Adam Lesinski#include <gtest/gtest.h> 2216c4d154dca43c662571129af31b27433b919a32Adam Lesinski 2316c4d154dca43c662571129af31b27433b919a32Adam Lesinski#include <fcntl.h> 2416c4d154dca43c662571129af31b27433b919a32Adam Lesinski#include <string.h> 2516c4d154dca43c662571129af31b27433b919a32Adam Lesinski 2616c4d154dca43c662571129af31b27433b919a32Adam Lesinskinamespace android { 2716c4d154dca43c662571129af31b27433b919a32Adam Lesinski 28560566d2915c03bed338fc532ac7f7aa3620cfdfNarayan Kamathclass ZipUtilsTest : public testing::Test { 2916c4d154dca43c662571129af31b27433b919a32Adam Lesinskiprotected: 3016c4d154dca43c662571129af31b27433b919a32Adam Lesinski virtual void SetUp() { 3116c4d154dca43c662571129af31b27433b919a32Adam Lesinski } 3216c4d154dca43c662571129af31b27433b919a32Adam Lesinski 3316c4d154dca43c662571129af31b27433b919a32Adam Lesinski virtual void TearDown() { 3416c4d154dca43c662571129af31b27433b919a32Adam Lesinski } 3516c4d154dca43c662571129af31b27433b919a32Adam Lesinski}; 3616c4d154dca43c662571129af31b27433b919a32Adam Lesinski 37560566d2915c03bed338fc532ac7f7aa3620cfdfNarayan KamathTEST_F(ZipUtilsTest, ZipTimeConvertSuccess) { 3816c4d154dca43c662571129af31b27433b919a32Adam Lesinski struct tm t; 3916c4d154dca43c662571129af31b27433b919a32Adam Lesinski 4016c4d154dca43c662571129af31b27433b919a32Adam Lesinski // 2011-06-29 14:40:40 4116c4d154dca43c662571129af31b27433b919a32Adam Lesinski long when = 0x3EDD7514; 4216c4d154dca43c662571129af31b27433b919a32Adam Lesinski 43560566d2915c03bed338fc532ac7f7aa3620cfdfNarayan Kamath ZipUtils::zipTimeToTimespec(when, &t); 4416c4d154dca43c662571129af31b27433b919a32Adam Lesinski 4516c4d154dca43c662571129af31b27433b919a32Adam Lesinski EXPECT_EQ(2011, t.tm_year + 1900) 4616c4d154dca43c662571129af31b27433b919a32Adam Lesinski << "Year was improperly converted."; 4716c4d154dca43c662571129af31b27433b919a32Adam Lesinski 487134ce35406f942dd640a95583430b39e770f0daShammi Khattar EXPECT_EQ(5, t.tm_mon) 4916c4d154dca43c662571129af31b27433b919a32Adam Lesinski << "Month was improperly converted."; 5016c4d154dca43c662571129af31b27433b919a32Adam Lesinski 5116c4d154dca43c662571129af31b27433b919a32Adam Lesinski EXPECT_EQ(29, t.tm_mday) 5216c4d154dca43c662571129af31b27433b919a32Adam Lesinski << "Day was improperly converted."; 5316c4d154dca43c662571129af31b27433b919a32Adam Lesinski 5416c4d154dca43c662571129af31b27433b919a32Adam Lesinski EXPECT_EQ(14, t.tm_hour) 5516c4d154dca43c662571129af31b27433b919a32Adam Lesinski << "Hour was improperly converted."; 5616c4d154dca43c662571129af31b27433b919a32Adam Lesinski 5716c4d154dca43c662571129af31b27433b919a32Adam Lesinski EXPECT_EQ(40, t.tm_min) 5816c4d154dca43c662571129af31b27433b919a32Adam Lesinski << "Minute was improperly converted."; 5916c4d154dca43c662571129af31b27433b919a32Adam Lesinski 6016c4d154dca43c662571129af31b27433b919a32Adam Lesinski EXPECT_EQ(40, t.tm_sec) 6116c4d154dca43c662571129af31b27433b919a32Adam Lesinski << "Second was improperly converted."; 627134ce35406f942dd640a95583430b39e770f0daShammi Khattar 637134ce35406f942dd640a95583430b39e770f0daShammi Khattar // We don't have enough information to determine timezone related info. 647134ce35406f942dd640a95583430b39e770f0daShammi Khattar EXPECT_EQ(-1, t.tm_isdst); 657134ce35406f942dd640a95583430b39e770f0daShammi Khattar EXPECT_EQ(0, t.tm_gmtoff); 667134ce35406f942dd640a95583430b39e770f0daShammi Khattar EXPECT_EQ(nullptr, t.tm_zone); 6716c4d154dca43c662571129af31b27433b919a32Adam Lesinski} 6816c4d154dca43c662571129af31b27433b919a32Adam Lesinski 6916c4d154dca43c662571129af31b27433b919a32Adam Lesinski} 70