1d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank/* Copyright (C) 2011 The Android Open Source Project. 2d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * 3d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * Licensed under the Apache License, Version 2.0 (the "License"); 4d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * you may not use this file except in compliance with the License. 5d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * You may obtain a copy of the License at 6d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * 7d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * http://www.apache.org/licenses/LICENSE-2.0 8d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * 9d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * Unless required by applicable law or agreed to in writing, software 10d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * distributed under the License is distributed on an "AS IS" BASIS, 11d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * See the License for the specific language governing permissions and 13d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * limitations under the License. 14d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank */ 15d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank 16d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank/** 17d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * You can run this entire test case with: 18d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank * runtest -c com.android.exchange.adapter.AttachmentLoaderTests exchange 19d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank */ 20d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blankpackage com.android.exchange.adapter; 21d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank 22d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blankimport android.test.AndroidTestCase; 23d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blankimport android.test.suitebuilder.annotation.SmallTest; 24d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank 25d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank@SmallTest 26d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blankpublic class AttachmentLoaderTests extends AndroidTestCase { 27d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank private static final String TEST_LOCATION = 28d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank "Inbox/FW:%204G%20Netbook%20|%20Now%20Available%20for%20Order.EML/image012.jpg"; 29d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank 30d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank public void testEncodeForExchange2003() { 31d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank assertEquals("abc", AttachmentLoader.encodeForExchange2003("abc")); 32d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank // We don't encode the four characters after abc 33d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank assertEquals("abc_:/.", AttachmentLoader.encodeForExchange2003("abc_:/.")); 34d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank // We don't re-encode escaped characters 35d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank assertEquals("%20%33", AttachmentLoader.encodeForExchange2003("%20%33")); 36d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank // Test with the location that failed in use 37d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank assertEquals(TEST_LOCATION.replace("|", "%7C"), 38d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank AttachmentLoader.encodeForExchange2003(TEST_LOCATION)); 39d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank } 40d2e4d4675d04e78591ebd38fd084fc2cdbe144a0Marc Blank} 41