fu: Close-up of Fu, bringing a scoop of water to her mouth (Default)
fu ([personal profile] fu) wrote in [site community profile] changelog2011-02-28 12:27 pm

[dw-free] Old JS libraries don't play nice with other libraries on the page

[commit: http://hg.dwscoalition.org/dw-free/rev/4e3f8c8ccf16]

http://bugs.dwscoalition.org/show_bug.cgi?id=3531

Add tests to make sure our libraries don't modify core javascript behavior.

Patch by [personal profile] fu.

Files modified:
  • views/dev/tests/libfunctions.html
  • views/dev/tests/libfunctions.js
--------------------------------------------------------------------------------
diff -r fc9f2c08fc02 -r 4e3f8c8ccf16 views/dev/tests/libfunctions.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/dev/tests/libfunctions.html	Mon Feb 28 20:27:30 2011 +0800
@@ -0,0 +1,7 @@
+<style type="text/css">.ippu { display: none; }</style>
+
+<table id="selectable_t"></table>
+<div id="searchview"></div>
+<div id="searchresults"></div>
+<div id="searchconstraints"></div>
+<button id="checkall"></button>
diff -r fc9f2c08fc02 -r 4e3f8c8ccf16 views/dev/tests/libfunctions.js
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/dev/tests/libfunctions.js	Mon Feb 28 20:27:30 2011 +0800
@@ -0,0 +1,201 @@
+/* INCLUDE:
+old: js/core.js
+old: js/dom.js
+old: js/json.js
+old: js/httpreq.js
+old: js/hourglass.js
+old: js/inputcomplete.js
+old: js/datasource.js
+old: js/selectable_table.js
+
+old: js/checkallbutton.js
+
+old: js/progressbar.js
+old: js/ljprogressbar.js
+
+old: js/ippu.js
+old: js/lj_ippu.js
+old: js/template.js
+old: js/userpicselect.js
+
+old: js/view.js
+old: js/directorysearch.js
+old: js/directorysearchconstraints.js
+old: js/directorysearchresults.js
+
+old: js/esnmanager.js
+
+old: js/ljwidget.js
+old: js/ljwidget_ippu.js
+old: js/widget_ippu/settingprod.js
+*/
+
+module( "old" );
+test( "misc utils", function() {
+    expect(5);
+
+    var o;
+    o = new Hourglass();
+    o.init();
+    ok( o, "Hourglass" );
+
+    o = new InputComplete();
+    o.init();
+    ok( o, "InputComplete" );
+
+    o = new InputCompleteData();
+    o.init();
+    ok( o, "InputCompleteData" );
+
+    o = new DataSource();
+    o.init();
+    ok( o, "DataSource" );
+
+    o = new SelectableTable();
+    o.init({
+        table: $("userpicselect_t")
+    });
+    ok( o, "SelectableTable" );
+
+});
+test( "LJProgressBar", function() {
+    expect(2);
+
+    var o;
+    o = new ProgressBar();
+    o.init();
+    ok( o, "ProgressBar" );
+
+    o = new LJProgressBar();
+    o.init();
+    ok( o, "LJProgressBar" );
+});
+
+test( "UserpicSelect", function() {
+    expect(4);
+
+    var o;
+    o = new IPPU();
+    o.init();
+    ok( o, "IPPU" );
+
+    o = new LJ_IPPU();
+    o.init();
+    ok( o, "LJ_IPPU" );
+
+    o = new Template();
+    o.init();
+    ok( o, "Template" );
+
+    o = new UserpicSelect();
+    o.init();
+    ok( o, "UserpicSelect" );
+});
+
+test( "Directory", function() {
+    expect(6);
+
+    var o;
+    o = new View();
+    o.init({});
+    ok( o, "View" );
+
+    o = new DirectorySearchView();
+    o.init($("searchview"), {});
+    ok( o, "DirectorySearchView" );
+
+    o = new DirectorySearch();
+    o.init() ;
+    ok( o, "DirectorySearch" );
+
+    o = new DirectorySearchResults();
+    o.init({}, {"resultsView": $("searchresults")});
+    ok( o, "DirectorySearchResults" );
+
+    o = new DirectorySearchConstraintsView();
+    o.init({view: $("searchconstraints")});
+    ok( o, "DirectorySearchConstraintsView" );
+
+    o = new DirectorySearchConstraint();
+    o.init();
+    ok( o, "DirectorySearchConstraint" );
+});
+
+test( "ESN", function() {
+    expect(1);
+
+    var o;
+
+    // possibly unused?
+    o = new ESNManager();
+    o.init();
+    ok( o, "ESNManager" );
+});
+
+test( "Widget", function() {
+    expect(2);
+
+    var o;
+    o = new LJWidget();
+    o.init();
+    ok( o, "LJWidget" );
+
+    o = new LJWidgetIPPU();
+    o.init({});
+    ok( o, "LJWidgetIPPU" );
+
+    // automatically tries to post to something on page refresh, so leaving out
+    // o = new LJWidgetIPPU_SettingProd();
+    // o.init({}, {});
+    // ok( o, "LJWidgetIPPU_SettingProd" );
+});
+
+test( "Check all", function() {
+    expect(1);
+
+    var o;
+    o = new CheckallButton();
+    o.init({ button: $("checkall") });
+    ok( o, "CheckallButton" );
+});
+
+module( "*libfunctions" );
+test( "array tests", function () {
+    expect(4);
+
+    var array = new Array();
+    array.push( "a" );
+    array.push( "b" );
+    array.push( "c" );
+
+    equals( 3, array.length, "Check array size" );
+
+    array.forEach(function(element, index, array) {
+        equals( element, array[index] );
+    });
+});
+
+test("object tests", function() {
+    // expect(1);
+
+    var o = new Object();
+    o["a"] = "apple";
+    o["b"] = "banana";
+    o["c"] = "cat eating a banana";
+
+    var count = 0;
+    for( var key in o ) {
+        count++;
+    }
+    equals( 3, count );
+
+    o = new Object();
+    count = 0;
+    for ( var key in o ) {
+        count++;
+    }
+    equals( 0, count );
+
+});
+
+
--------------------------------------------------------------------------------

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org