<!--
 Copyright (c) 2015 Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

 This code is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License version 2 only, as
 published by the Free Software Foundation.

 This code is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 version 2 for more details (a copy is included in the LICENSE file that
 accompanied this code).

 You should have received a copy of the GNU General Public License version
 2 along with this work; if not, write to the Free Software Foundation,
 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 or visit www.oracle.com if you need additional information or have any
 questions.
-->


<html>
<!--
  @test
  @bug 6392086 8014725
  @summary Tests basic DnD functionality in an applet
  @author Alexey Utkin, Semyon Sadetsky area=dnd
  @run applet HTMLTransferTest.html
-->
<head>
<title>  </title>
</head>
<body>

<h1>HTMLTransferTest<br>Bug ID: 6392086</h1>

<p> This is an AUTOMATIC test, simply wait for completion </p>

<APPLET CODE="HTMLTransferTest.class" WIDTH=200 HEIGHT=200></APPLET>
</body>
</html>
