replicant-packages_apps_Email/tests/src/com/android/email/activity/MessageViewTests.java

157 lines
5.7 KiB
Java

/*
* Copyright (C) 2008 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.
*/
// Disabled for now, as these tests will probably not make sense with the upcoming UI change.
// TODO Revive them in some way.
//package com.android.email.activity;
//
//import com.android.email.Email;
//import com.android.email.MessagingController;
//import com.android.email.R;
//
//import android.app.Application;
//import android.content.Context;
//import android.content.Intent;
//import android.test.ActivityInstrumentationTestCase2;
//import android.test.UiThreadTest;
//import android.test.suitebuilder.annotation.LargeTest;
//import android.test.suitebuilder.annotation.Suppress;
//import android.view.View;
//import android.webkit.WebView;
//import android.widget.TextView;
//
///**
// * Various instrumentation tests for MessageCompose.
// *
// * It might be possible to convert these to ActivityUnitTest, which would be faster.
// */
//@LargeTest
//public class MessageViewTests
// extends ActivityInstrumentationTestCase2<MessageView> {
//
// // copied from MessageView (could be package class)
// private static final String EXTRA_MESSAGE_ID = "com.android.email.MessageView_message_id";
// private static final String EXTRA_MAILBOX_ID = "com.android.email.MessageView_mailbox_id";
//
// private TextView mToView;
// private TextView mSubjectView;
// private WebView mMessageContentView;
// private Context mContext;
//
// public MessageViewTests() {
// super(MessageView.class);
// }
//
// @Override
// protected void setUp() throws Exception {
// super.setUp();
//
// mContext = getInstrumentation().getTargetContext();
// Email.setTempDirectory(mContext);
// Email.setServicesEnabled(mContext);
//
// // setup an intent to spin up this activity with something useful
// // Long.MIN_VALUE are sentinels to command MessageView to skip loading
// Intent i = new Intent()
// .putExtra(EXTRA_MESSAGE_ID, Long.MIN_VALUE)
// .putExtra(EXTRA_MAILBOX_ID, Long.MIN_VALUE);
// this.setActivityIntent(i);
//
// // configure a mock controller
// MessagingController mockController =
// new MockMessagingController(getActivity().getApplication());
// MessagingController.injectMockController(mockController);
//
// final MessageView a = getActivity();
// mToView = (TextView) a.findViewById(R.id.to);
// mSubjectView = (TextView) a.findViewById(R.id.subject);
// mMessageContentView = (WebView) a.findViewById(R.id.message_content);
// }
//
// /**
// * The name 'test preconditions' is a convention to signal that if this
// * test doesn't pass, the test case was not set up properly and it might
// * explain any and all failures in other tests. This is not guaranteed
// * to run before other tests, as junit uses reflection to find the tests.
// */
// public void testPreconditions() {
// assertNotNull(mToView);
// assertEquals(0, mToView.length());
// assertNotNull(mSubjectView);
// assertEquals(0, mSubjectView.length());
// assertNotNull(mMessageContentView);
// }
//
// /**
// * Tests that various UI calls can be made safely even before the messaging controller
// * has completed loading the message. This catches various race conditions.
// */
// @Suppress
// public void testUiRaceConditions() {
//
// MessageView a = getActivity();
//
// // on-streen controls
// a.onClick(a.findViewById(R.id.reply));
// a.onClick(a.findViewById(R.id.reply_all));
// a.onClick(a.findViewById(R.id.delete));
// a.onClick(a.findViewById(R.id.moveToOlder));
// a.onClick(a.findViewById(R.id.moveToNewer));
//// a.onClick(a.findViewById(R.id.download)); // not revealed yet, so unfair test
//// a.onClick(a.findViewById(R.id.view)); // not revealed yet, so unfair test
// a.onClick(a.findViewById(R.id.show_pictures));
//
// // menus
// a.handleMenuItem(R.id.delete);
// a.handleMenuItem(R.id.reply);
// a.handleMenuItem(R.id.reply_all);
// a.handleMenuItem(R.id.forward);
// a.handleMenuItem(R.id.mark_as_unread);
// }
//
// /**
// * Sets EXTRA_DISABLE_REPLY on the intent to true/false, and
// * checks change in replyButton.isEnabled().
// */
// @UiThreadTest
// public void testDisableReply() {
// MessageView a = getActivity();
// View replyButton = a.findViewById(R.id.reply);
//
// Intent i = new Intent();
// a.setIntent(i);
// a.initFromIntent();
// assertTrue(replyButton.isEnabled());
//
// i.putExtra(MessageView.EXTRA_DISABLE_REPLY, true);
// a.setIntent(i);
// a.initFromIntent();
// assertFalse(replyButton.isEnabled());
// }
//
// /**
// * Mock Messaging controller, so we can drive its callbacks. This probably should be
// * generalized since we're likely to use for other tests eventually.
// */
// private static class MockMessagingController extends MessagingController {
//
// private MockMessagingController(Application application) {
// super(application);
// }
// }
//}