test_plugins.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 
27 function runTest() {
28 
29  var gst = Cc["@songbirdnest.com/Songbird/Mediacore/GStreamer/Service;1"]
30  .getService(Ci.sbIGStreamerService);
31 
32  var list = [];
33 
34  var handler = {
35  beginInspect: function() {
36  },
37  endInspect: function() {
38  },
39  beginPluginInfo: function(aName, aDescription, aFilename, aVersion, aLicense, aSource, aPackage, aOrigin) {
40  list.push(aName);
41  },
42  endPluginInfo: function() {
43  },
44  beginFactoryInfo: function(aLongName, aClass, aDescription, aAuthor, aRankName, aRank) {
45  },
46  endFactoryInfo: function() {
47  },
48  beginPadTemplateInfo: function(aName, aDirection, aPresence, aCodecDescription) {
49  },
50  endPadTemplateInfo: function() {
51  }
52  };
53 
54  gst.inspect(handler);
55 
56  log(list.length + " plugins found");
57 
58  var platform = getPlatform();
59 
60  assertContains(list, ["staticelements", "ogg", "vorbis", "mozilla"]);
61 
62  switch (platform) {
63  case "Windows_NT":
64  assertContains(list, ["directsound", "dshowsinkwrapper"]);
65  break;
66  case "Darwin":
67  assertContains(list, ["osxaudio", "osxvideo"]);
68  break;
69  case "Linux":
70  assertContains(list, ["alsa", "ximagesink", "xvimagesink"]);
71  break;
72  default:
73  log("Unknown platform " + platform);
74  }
75 }
76 
77 function assertContains(a, b) {
78  for (var i = 0; i < b.length; i++) {
79  assertTrue(a.indexOf(b[i]) >= 0, "Plugin not found: " + b[i]);
80  }
81 }
82 
83 function assertDoesNotContain(a, b) {
84  for (var i = 0; i < b.length; i++) {
85  assertFalse(a.indexOf(b[i]) >= 0, "Plugin unexpectedly found: "+b[i]);
86  }
87 }
88 
function assertContains(a, b)
Definition: test_plugins.js:77
const Cc
function getPlatform()
function log(s)
function assertDoesNotContain(a, b)
Definition: test_plugins.js:83
function assertTrue(aTest, aMessage)
function assertFalse(aTest, aMessage)
_updateCookies aName
const Ci
function runTest()
Advanced DataRemote unit tests.
Definition: test_plugins.js:27
_getSelectedPageStyle s i
GstMessage gpointer data sbGStreamerMessageHandler * handler