test_sortable.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 
31 function runTest () {
32 
33  var library = createLibrary("test_sortable");
34 
35  // Tests with the library
36  var list = library;
37  var view = list.createView();
38  assertFilteredSort(view, "data_sort_created_asc.txt");
39 
40  var pa = createPropertyArray();
41  pa.appendProperty("http://songbirdnest.com/data/1.0#contentURL", "a");
42  view.setSort(pa);
43  assertFilteredSort(view, "data_sort_contenturl_asc.txt");
44 
45  pa = createPropertyArray();
46  pa.appendProperty("http://songbirdnest.com/data/1.0#albumName", "a");
47  pa.appendProperty("http://songbirdnest.com/data/1.0#trackNumber", "a");
48  view.setSort(pa);
49  assertFilteredSort(view, "data_sort_album_asc_track_asc.txt");
50 
51  pa = createPropertyArray();
52  pa.appendProperty("http://songbirdnest.com/data/1.0#artistName", "a");
53  pa.appendProperty("http://songbirdnest.com/data/1.0#albumName", "a");
54  pa.appendProperty("http://songbirdnest.com/data/1.0#trackNumber", "a");
55  view.setSort(pa);
56  assertFilteredSort(view, "data_sort_artist_asc_album_asc_track_asc.txt");
57 
58  view.clearSort();
59  assertFilteredSort(view, "data_sort_created_asc.txt");
60 
61  // Test with simple media list
62  list = library.getMediaItem("7e8dcc95-7a1d-4bb3-9b14-d4906a9952cb");
63  view = list.createView();
64  assertFilteredSort(view, "data_sort_sml101_ordinal_asc.txt");
65 
66  pa = createPropertyArray();
67  pa.appendProperty("http://songbirdnest.com/data/1.0#ordinal", "a");
68  view.setSort(pa);
69  assertFilteredSort(view, "data_sort_sml101_ordinal_asc.txt");
70 }
71 
72 function createPropertyArray() {
73  var array = Cc["@songbirdnest.com/Songbird/Properties/MutablePropertyArray;1"]
74  .createInstance(Ci.sbIMutablePropertyArray);
75  array.strict = false;
76  return array;
77 }
78 
79 function assertFilteredSort(list, dataFile) {
80 
81  var a = [];
82  for (var i = 0; i < list.length; i++) {
83  a.push(list.getItemByIndex(i).guid);
84  }
85 
86  assertArray(a, dataFile);
87 
88 }
const Cc
inArray array
function runTest()
Test file.
function assertFilteredSort(list, dataFile)
function createPropertyArray()
function assertArray(array, dataFile)
function createLibrary(databaseGuid, databaseLocation)
Definition: test_load.js:151
const Ci
_getSelectedPageStyle s i