"fixed" a test and added a new array to contain references to the raphael nodes we create. popcorn-port
authorhamidouk
Fri, 04 Nov 2011 16:08:25 +0100
branchpopcorn-port
changeset 196 9fb4dcb0b878
parent 195 f46fbf25e827
child 197 a793a8a0c9d2
"fixed" a test and added a new array to contain references to the raphael nodes we create.
src/js/widgets/polemicWidget.js
unittests/tests/polemicWidget.js
--- a/src/js/widgets/polemicWidget.js	Fri Nov 04 12:40:30 2011 +0100
+++ b/src/js/widgets/polemicWidget.js	Fri Nov 04 16:08:25 2011 +0100
@@ -31,6 +31,7 @@
 	this.PaperSlider;
 	this.heightOfChart;
 	this.tweets  = new Array();
+  this.svgElements = new Array();
   
 	// Make and define the Raphael area
 	this.paper = Raphael(document.getElementById(this._id), config.width, config.height);
@@ -267,6 +268,8 @@
                   }
                   
 									var e = this.paper.rect(x, y, frameSize - margin, TweetHeight /* height */).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
+                  this.svgElements.push(e);
+                  
 									addEheight += TweetHeight;
 									
                   e.time= frames[i].mytweetsID[k].timeframe;
@@ -293,17 +296,17 @@
 				}
 
 			}		
-			// DRAW UI :: resize border and bgd
-			var heightOfChart 	= (this.yMax-(this.height- this.yMax));
-			var PaperBackground = this.paper.rect(0, this.yMax, this.width,heightOfChart).attr({fill:"#fff","stroke-width":0.1,opacity: 0.1});	
-			var PaperBorder 	= this.paper.rect(0, this.yMax,this.width,1).attr({fill:"#fff",stroke: "none",opacity: 1});	
+			// DRAW UI :: resize border and bgd			
+			this.paperBackground = this.paper.rect(0, this.yMax, this.width, this.heightmax).attr({fill:"#F8F8F8","stroke-width":0.1,opacity: 1});	
+			// var PaperBorder 	= this.paper.rect(0, this.yMax,this.width,1).attr({fill:"#fff",stroke: "none",opacity: 1});	
 	
       this.paperSlider 	= this.paper.rect(0, this.yMax, 0, this.heightmax).attr({fill:"#D4D5D5", stroke: "none", opacity: 1});				
 			// decalage 
 			tweetSelection = this.paper.rect(-100,-100,5,5).attr({fill:"#fff",stroke: "none",opacity: 1});	
-				
+			
+      
 			this.paperSlider.toBack();
-			PaperBackground.toBack();
+			this.paperBackground.toBack();
 		}
     
     this._Popcorn.listen("timeupdate", IriSP.wrap(this, this.sliderUpdater));
--- a/unittests/tests/polemicWidget.js	Fri Nov 04 12:40:30 2011 +0100
+++ b/unittests/tests/polemicWidget.js	Fri Nov 04 16:08:25 2011 +0100
@@ -46,6 +46,34 @@
     
     widget.draw();    
     equal(IriSP.jQuery("#widget-div").length, 1, "test if the div has been added correctly");        
-    equal(IriSP.jQuery("#PolemicDiv").children().length, 1, "test if children have been added correctly");
+    equal(IriSP.jQuery("#PolemicDiv svg").length, 1, "test if svg div has been added correctly");
+    
+    // select the second element of the svg. the second because the first is a rect which serves
+    // as a background.
+    var paperSlider = IriSP.jQuery("#PolemicDiv svg :nth-child(2)");
+    // querying svg with jquery is quite the piece of cake.
+    equal(paperSlider.attr("x").baseVal.value, 0, "test if the slider has been created correctly");            
   });
+  
+  test("test widget interactions", function() {
+  
+    /* We can't test interactions because of raphael */
+    // var tooltip = new IriSP.TooltipWidget(this.Popcorn, this.config.requires[0], this.ser);
+    // var widget = new IriSP.PolemicWidget(this.Popcorn, this.config, this.ser);
+    
+    // widget.TooltipWidget = tooltip;
+    // widget.draw();
+    
+    // var spy_callback = this.spy();    
+    // this.Popcorn.listen("timeupdate", spy_callback);
+    
+    // var random = Math.round(Math.random() * widget.svgElements.length) + 1;
+    // var e = widget.svgElements[random].node;
+    // IriSP.jQuery(e).click();
+    
+    // ok(spy_callback.called, "the currenttime was changed");  
+    
+  });
+  
+  
 }; 
\ No newline at end of file