Tests for labelsDiv option
authorDan Vanderkam <danvdk@gmail.com>
Sun, 29 Mar 2015 22:59:04 +0000 (18:59 -0400)
committerDan Vanderkam <danvdk@gmail.com>
Sun, 29 Mar 2015 23:00:11 +0000 (19:00 -0400)
auto_tests/tests/Util.js
auto_tests/tests/plugins_legend.js

index 7c1eaa6..8937e43 100644 (file)
@@ -51,11 +51,16 @@ Util.getClassTexts = function(css_class, parent) {
   return texts;
 };
 
+// Convert &nbsp; to a normal space
+Util.nbspToSpace = function(str) {
+  var re = new RegExp(String.fromCharCode(160), 'g');
+  return str.replace(re, ' ');
+};
+
 Util.getLegend = function(parent) {
   parent = parent || document;
   var legend = parent.getElementsByClassName("dygraph-legend")[0];
-  var re = new RegExp(String.fromCharCode(160), 'g');
-  return legend.textContent.replace(re, ' ');
+  return Util.nbspToSpace(legend.textContent);
 };
 
 /**
index 9d5df46..7fd673f 100644 (file)
@@ -1,12 +1,7 @@
-/**
- * @fileoverview FILL THIS IN
- *
- * @author akiya.mizukoshi@gmail.com (Akiyah)
- */
 describe("plugins-legend", function() {
 
 beforeEach(function() {
-  document.body.innerHTML = "<div id='graph'></div>";
+  document.body.innerHTML = "<div id='graph'></div><div id='label'></div>";
 });
 
 afterEach(function() {
@@ -45,4 +40,21 @@ it('testLegendEscape', function() {
 });
 
 
+it('should let labelsDiv be a string', function() {
+  var labelsDiv = document.getElementById('label');
+  var g = new Dygraph('graph', 'X,Y\n1,2\n', {labelsDiv: 'label'});
+null
+  g.setSelection(0);
+  assert.equal('1: Y: 2', Util.nbspToSpace(labelsDiv.textContent));
+});
+
+it('should let labelsDiv be an Element', function() {
+  var labelsDiv = document.getElementById('label');
+  var g = new Dygraph('graph', 'X,Y\n1,2\n', { labelsDiv: labelsDiv });
+  assert.isNull(labelsDiv.getAttribute('class'));  // dygraph-legend not added.
+  g.setSelection(0);
+  assert.equal('1: Y: 2', Util.nbspToSpace(labelsDiv.textContent));
+});
+
+
 });