/** * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ package com.facebook.react.modules.clipboard; import android.annotation.SuppressLint; import android.content.Context; import android.text.ClipboardManager; import com.facebook.react.bridge.ReactTestHelper; import com.facebook.react.modules.clipboard.ClipboardModule; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; @SuppressLint({"ClipboardManager", "DeprecatedClass"}) @RunWith(RobolectricTestRunner.class) @PowerMockIgnore({"org.mockito.*", "org.robolectric.*", "android.*"}) public class ClipboardModuleTest { private static final String TEST_CONTENT = "test"; private ClipboardModule mClipboardModule; private ClipboardManager mClipboardManager; @Before public void setUp() { mClipboardModule = new ClipboardModule(ReactTestHelper.createCatalystContextForTest()); mClipboardManager = (ClipboardManager) RuntimeEnvironment.application.getSystemService(Context.CLIPBOARD_SERVICE); } @Test public void testSetString() { mClipboardModule.setString(TEST_CONTENT); assertTrue(mClipboardManager.getText().equals(TEST_CONTENT)); mClipboardModule.setString(null); assertFalse(mClipboardManager.hasText()); mClipboardModule.setString(""); assertFalse(mClipboardManager.hasText()); mClipboardModule.setString(" "); assertTrue(mClipboardManager.hasText()); } }