95 lines
3.5 KiB
Java
95 lines
3.5 KiB
Java
/*
|
|
* Copyright (C) 2009 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
* use this file except in compliance with the License. You may obtain a copy of
|
|
* the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
* License for the specific language governing permissions and limitations under
|
|
* the License.
|
|
*/
|
|
|
|
package com.android.email;
|
|
|
|
import android.content.Context;
|
|
import android.test.ProviderTestCase2;
|
|
import android.test.suitebuilder.annotation.Suppress;
|
|
|
|
import com.android.email.provider.ContentCache;
|
|
import com.android.email.provider.EmailProvider;
|
|
import com.android.emailcommon.provider.EmailContent;
|
|
import com.android.emailcommon.provider.Mailbox;
|
|
|
|
import java.util.Locale;
|
|
|
|
/**
|
|
* Tests of the Controller class that depend on the underlying provider.
|
|
*
|
|
* NOTE: It would probably make sense to rewrite this using a MockProvider, instead of the
|
|
* ProviderTestCase (which is a real provider running on a temp database). This would be more of
|
|
* a true "unit test".
|
|
*
|
|
* You can run this entire test case with:
|
|
* runtest -c com.android.email.ControllerProviderOpsTests email
|
|
*/
|
|
@Suppress
|
|
public class ControllerProviderOpsTests extends ProviderTestCase2<EmailProvider> {
|
|
private Context mProviderContext;
|
|
private Context mContext;
|
|
|
|
public ControllerProviderOpsTests() {
|
|
super(EmailProvider.class, EmailContent.AUTHORITY);
|
|
}
|
|
|
|
@Override
|
|
public void setUp() throws Exception {
|
|
super.setUp();
|
|
mProviderContext = getMockContext();
|
|
mContext = getContext();
|
|
// Invalidate all caches, since we reset the database for each test
|
|
ContentCache.invalidateAllCaches();
|
|
}
|
|
|
|
@Override
|
|
public void tearDown() throws Exception {
|
|
super.tearDown();
|
|
}
|
|
|
|
/**
|
|
* These are strings that should not change per locale.
|
|
*/
|
|
public void testGetMailboxServerName() {
|
|
try {
|
|
Mailbox.getSystemMailboxName(mContext, -1);
|
|
fail("Mailbox.getSystemMailboxName(mContext, -1) succeeded without an exception");
|
|
} catch (IllegalArgumentException e) {
|
|
// we expect an exception, so do nothing
|
|
}
|
|
|
|
assertEquals("Inbox", Mailbox.getSystemMailboxName(mContext, Mailbox.TYPE_INBOX));
|
|
assertEquals("Outbox", Mailbox.getSystemMailboxName(mContext, Mailbox.TYPE_OUTBOX));
|
|
assertEquals("Trash", Mailbox.getSystemMailboxName(mContext, Mailbox.TYPE_TRASH));
|
|
assertEquals("Sent", Mailbox.getSystemMailboxName(mContext, Mailbox.TYPE_SENT));
|
|
assertEquals("Junk", Mailbox.getSystemMailboxName(mContext, Mailbox.TYPE_JUNK));
|
|
|
|
// Now try again with translation
|
|
Locale savedLocale = Locale.getDefault();
|
|
Locale.setDefault(Locale.FRANCE);
|
|
assertEquals("Inbox", Mailbox.getSystemMailboxName(mContext, Mailbox.TYPE_INBOX));
|
|
assertEquals("Outbox", Mailbox.getSystemMailboxName(mContext, Mailbox.TYPE_OUTBOX));
|
|
assertEquals("Trash", Mailbox.getSystemMailboxName(mContext, Mailbox.TYPE_TRASH));
|
|
assertEquals("Sent", Mailbox.getSystemMailboxName(mContext, Mailbox.TYPE_SENT));
|
|
assertEquals("Junk", Mailbox.getSystemMailboxName(mContext, Mailbox.TYPE_JUNK));
|
|
Locale.setDefault(savedLocale);
|
|
}
|
|
|
|
/**
|
|
* TODO: releasing associated data (e.g. attachments, embedded images)
|
|
*/
|
|
}
|