test_clipboardhelper.js
Go to the documentation of this file.
1 /*
2 //
3 // BEGIN SONGBIRD GPL
4 //
5 // This file is part of the Songbird web player.
6 //
7 // Copyright(c) 2005-2008 POTI, Inc.
8 // http://songbirdnest.com
9 //
10 // This file may be licensed under the terms of of the
11 // GNU General Public License Version 2 (the "GPL").
12 //
13 // Software distributed under the License is distributed
14 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
15 // express or implied. See the GPL for the specific language
16 // governing rights and limitations.
17 //
18 // You should have received a copy of the GPL along with this
19 // program. If not, go to http://www.gnu.org/licenses/gpl.html
20 // or write to the Free Software Foundation, Inc.,
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 //
23 // END SONGBIRD GPL
24 //
25 */
26 
30 var gFileLocation = "testharness/clipboardhelper/files/";
31 
32 function runTest() {
33  var testFolder = getCopyOfFolder(newAppRelativeFile(gFileLocation), "_temp_reading_files");
34 
35  var sbClipboard = Cc["@songbirdnest.com/moz/clipboard/helper;1"]
36  .createInstance(Ci.sbIClipboardHelper);
37 
38 
39  // First we try to copy an image to the clipboard
40  var imageFile = testFolder.clone();
41  imageFile.append("test.png");
42 
43  var mimeType = Cc["@mozilla.org/mime;1"]
44  .getService(Ci.nsIMIMEService)
45  .getTypeFromFile(imageFile);
46  var inputStream = Cc["@mozilla.org/network/file-input-stream;1"]
47  .createInstance(Ci.nsIFileInputStream);
48  inputStream.init(imageFile, 0x01, 0600, 0);
49  var imageSize = inputStream.available();
50  // use a binary input stream to grab the bytes.
51  var bis = Cc["@mozilla.org/binaryinputstream;1"].
52  createInstance(Ci.nsIBinaryInputStream);
53  bis.setInputStream(inputStream);
54  var imageData= bis.readByteArray(imageSize);
55  try {
56  sbClipboard.pasteImageToClipboard(mimeType, imageData, imageSize);
57  } catch (err) {
58  log("Failed: " + err);
59  }
60 /*
61  // Then we try to read it from the clipboard
62  mimeType = {};
63  imageSize = {};
64  imageData = sbClipboard.copyImageFromClipboard(mimeType, imageSize);
65  assertNotEqual(imageSize.value, 0);
66  assertNotEqual(mimeType.value, "");
67  assertNotEqual(imageData.length, 0);*/
68 }
const Cc
function newAppRelativeFile(path)
var testFolder
function log(s)
sidebarFactory createInstance
Definition: nsSidebar.js:351
var gFileLocation
test the clipboard helper
var imageSize
Definition: pageInfo.js:959
const Ci
function runTest()
Advanced DataRemote unit tests.
function getCopyOfFolder(folder, tempName)
Copy the given folder to tempName, returning an nsIFile for the new location.