Robert Konigsberg [Thu, 29 Dec 2011 02:56:31 +0000 (21:56 -0500)]
Test name in the summary was wrong when selecting individual tests.
Robert Konigsberg [Thu, 29 Dec 2011 02:41:49 +0000 (21:41 -0500)]
Organize local.html just a little.
Robert Konigsberg [Thu, 29 Dec 2011 01:55:48 +0000 (20:55 -0500)]
Add tests for isZoomed.
Robert Konigsberg [Thu, 29 Dec 2011 01:45:41 +0000 (20:45 -0500)]
Make local testing AWESOME.
Robert Konigsberg [Thu, 29 Dec 2011 01:21:20 +0000 (20:21 -0500)]
Return tests results from runAllTests
Robert Konigsberg [Thu, 29 Dec 2011 01:17:44 +0000 (20:17 -0500)]
Add local test selector. SOO MUCH BETTER.
Robert Konigsberg [Wed, 28 Dec 2011 23:35:32 +0000 (18:35 -0500)]
isZoomed broken because of == -> === comparison.
Dan Vanderkam [Tue, 27 Dec 2011 16:05:45 +0000 (11:05 -0500)]
one more small fix from Paul
Dan Vanderkam [Mon, 26 Dec 2011 16:10:24 +0000 (11:10 -0500)]
Add jWebChart link to gallery.
Paul Felix [Mon, 26 Dec 2011 05:53:09 +0000 (00:53 -0500)]
Fix issue 246.
See http://code.google.com/p/dygraphs/issues/detail?id=246.
Adam Vartanian [Mon, 26 Dec 2011 04:30:08 +0000 (23:30 -0500)]
Extract the granularity-picking code of the date ticker into a new function.
Extracting the granularity-selecting code into a new function, it would be
useful for me to be able to call that in my own ticker.
Dan Vanderkam [Mon, 26 Dec 2011 04:18:12 +0000 (23:18 -0500)]
Add JSHint and make dygraphs pass its checks.
JSHint is a JS Linter based on JSLint. This commit includes a script which can
run it using either JSC (JavaScriptCore, available on Mac OS X) or Rhino (Java,
on all other platforms).
This catches issues like:
- Unused variables
- Uses of == where === would be better
- Repeated declarations of vars.
- Missing/superfluous semicolons.
- Missing base param on parseInt.
and many others. This did require some adjustments to coding styles (e.g.
hoisting vars up out of for loops) but overall I think it's worth it.
Squashed commit of the following:
commit
4de410a39953da0ad1b9574eab30d5eb81a2e0f5
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 23:17:47 2011 -0500
track jshint build dir
commit
88da991955e57438fabfbe337fd5c7ff214f7c97
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 23:14:03 2011 -0500
clear up unused vars and implied globals
commit
f48b09df35e1156ab8095a29f082014885b45465
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 22:47:47 2011 -0500
remove my files
commit
b2a58ca5743aee1422608b41cad21c8296aceb2a
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 22:47:29 2011 -0500
remove jshint tests
commit
bf49732c46808752a704ee6a0a5870c6a6812e83
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 22:46:24 2011 -0500
add a copy of jshint; include its license in README
commit
9b4baf4a36ad1beadf56f0e87e7fa4a226710121
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 22:42:12 2011 -0500
update lint script to choose either jsc or rhino
commit
dcf8db9d762575a43f4aaac8d6a7e1c5d4b8b116
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 22:02:48 2011 -0500
fix two-arg constructor bug & add test
commit
35ad9c0aeed835ae79bd0fe04ffcfdfe5d54301c
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 21:53:19 2011 -0500
demo works
commit
012823ca2a491ab8a559815dccb5daeefb224576
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 21:52:15 2011 -0500
demo works
commit
0f27f4daf820d08f418f33271eee08d1d80551ee
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 21:47:10 2011 -0500
add lint script -- all JS files pass!
commit
6b9fedce85a383a4776ef059b15c38a451bba023
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 21:46:56 2011 -0500
dygraph-canvas.js passes
commit
f51a2f3c440b44b0d5414acd07da60b28b4e66f2
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 21:13:37 2011 -0500
dygraph-utils passes
commit
f847e67a5f2be36cd7e1d534b47dfdc02878a594
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 21:03:48 2011 -0500
dygraph-tickers passes
commit
1582fc1f591311ec21a71bdf19b6f3dee3fad728
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 20:56:51 2011 -0500
dygraph-range-selector passes
commit
974083c7311c9a42161c50c8723d7f8a4ce251fb
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 18:41:52 2011 -0500
dygraph-options-reference.js passes
commit
1b88fe74a331acea77449d051482d99669dbbef2
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 18:38:58 2011 -0500
dygraph-layout passes
commit
6b92c4e8993f1ffd56159cb1f623bc8c2cb7b3c9
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 18:35:35 2011 -0500
dygraph-interaction-model.js passes
commit
955b58fbb3c41f8916f5d65fba0b767a61a5f3b1
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 18:34:08 2011 -0500
dygraph-gviz.js passes
commit
41a65c43ae7f13f100468460b181be154b400853
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Sun Dec 25 18:29:09 2011 -0500
dygraph.js passes
Dan Vanderkam [Fri, 23 Dec 2011 06:40:34 +0000 (01:40 -0500)]
Add a simple Usage Gallery to the dygraphs home page.
Dan Vanderkam [Thu, 22 Dec 2011 20:38:17 +0000 (15:38 -0500)]
Fix issue 237 (standard date/time string)
This incorporates a patch from Steve Flenniken to support ISO 8601-format
(YYYY-MM-DDTHH:MM:SS.ddddddZ) dates. Also includes a regression test.
Dan Vanderkam [Thu, 22 Dec 2011 05:22:54 +0000 (00:22 -0500)]
Work around issue 200: Android 3.0: dygraph does not show
Android's canvas implementation is buggy. It doesn't support clipping.
For now, I manually detect the Android browser and disable clipping.
Dan Vanderkam [Wed, 21 Dec 2011 22:22:30 +0000 (17:22 -0500)]
Fix Issue 60: Add tests for one data point and zero data points
The zero point case is pathological, but at least it no longer crashes.
Also includes some miscellaneous other cleanup.
Dan Vanderkam [Wed, 21 Dec 2011 21:29:22 +0000 (16:29 -0500)]
Fix issue 131: setVisibility() broken with multiple axes
This reworks the logic for visibility and axes. Invisible series are kept in
the seriesToAxis map, but are ignored when calculating the layout and extreme
values.
I am slightly wary because I did not understand the comment about visibility in
the deleted portion of computeYAxes_. It seemed to be describing the exact same
problem as this bug, but did not really address it.
Squashed commit of the following:
commit
5916f4782d26e0933764607dd7cc93ebde981b2a
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Wed Dec 21 16:26:56 2011 -0500
I do not believe so
commit
ae08301858225d9c9b2eb185cb45be8a3cf1387e
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Wed Dec 21 16:25:52 2011 -0500
issue is fixed, but are there side-effects?
commit
4cfbfae182d800bd15c738e879c707b283117983
Merge: c26c4fd 107c99e
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Wed Dec 21 15:58:24 2011 -0500
Merge branch 'master' into issue131
commit
c26c4fd945d1b515d2ebe7839fb5fc7a9cfa2cec
Author: Dan Vanderkam <dan@dygraphs.com>
Date: Wed Dec 21 15:51:03 2011 -0500
failing auto_test
Dan Vanderkam [Wed, 21 Dec 2011 20:55:41 +0000 (15:55 -0500)]
remove extra logging from scrolling_div.js
Dan Vanderkam [Wed, 21 Dec 2011 20:43:26 +0000 (15:43 -0500)]
Fix some tests that started failing in OS X Lion.
Robert Konigsberg [Wed, 21 Dec 2011 19:42:18 +0000 (14:42 -0500)]
Merge branch 'master' of github.com/danvk/dygraphs
Robert Konigsberg [Wed, 21 Dec 2011 19:41:55 +0000 (14:41 -0500)]
Add tests that would have caught the issue with filled/stacked graphs.
Dan Vanderkam [Wed, 21 Dec 2011 19:28:52 +0000 (14:28 -0500)]
Incorporate Paul's stack trace logging fix.
Robert Konigsberg [Wed, 21 Dec 2011 18:45:22 +0000 (13:45 -0500)]
Add var declaration to prevent breaking stacked graphs.
Robert Konigsberg [Mon, 19 Dec 2011 21:56:09 +0000 (16:56 -0500)]
Add visualization test for changing colors.
Dan Vanderkam [Mon, 19 Dec 2011 21:55:24 +0000 (16:55 -0500)]
Clarify updateOptions behavior when you specify too many colors.
Dan Vanderkam [Mon, 19 Dec 2011 21:40:46 +0000 (16:40 -0500)]
Fix another missing "var" and put rgbcolor.js into strict mode.
Dan Vanderkam [Mon, 19 Dec 2011 20:53:57 +0000 (15:53 -0500)]
Remove duplicated layout/range selector initialization code
Dan Vanderkam [Mon, 19 Dec 2011 20:50:44 +0000 (15:50 -0500)]
squash a few remaining "use strict" errors
Dan Vanderkam [Mon, 19 Dec 2011 20:32:12 +0000 (15:32 -0500)]
Enable "strict" mode -- and fix one missing "var" declaration.
Dan Vanderkam [Fri, 16 Dec 2011 23:50:36 +0000 (18:50 -0500)]
Fix issue 186 (dygraphs does not accept "1e-5" as a numeric x-value).
This turned out to be because the "-" was causing it to be treated as a
date (e.g. "2006-01-01").
Bug: http://code.google.com/p/dygraphs/issues/detail?id=186
Dan Vanderkam [Fri, 16 Dec 2011 23:48:38 +0000 (18:48 -0500)]
When possible, record the file/line number that logged an error/warning.
This resolves a very long-standing TODO. The line is logged when
stacktrace.js is available. This is not included in dygraph-combined.js,
but is included in dygraph-dev.js. It can also be manually sourced if
desired.
Dan Vanderkam [Fri, 16 Dec 2011 22:45:18 +0000 (17:45 -0500)]
Fix issue 247 and flesh out its regression test.
Dan Vanderkam [Wed, 14 Dec 2011 20:27:13 +0000 (12:27 -0800)]
Merge pull request #99 from kberg/master
Test that demonstrates bug #247
Robert Konigsberg [Wed, 14 Dec 2011 18:19:47 +0000 (10:19 -0800)]
Added testUpdateColors, which represents bug #247
Dan Vanderkam [Sun, 11 Dec 2011 15:46:58 +0000 (10:46 -0500)]
Add support for animated zooms.
This is currently disabled by default, but can be enabled via the animatedZooms
option. The animation always uses 10 frames and lasts 200 ms, though this will
likely change in the future.
Includes some internal refactoring to reduce the amount of work done on each
animation frame.
Dan Vanderkam [Fri, 9 Dec 2011 18:24:05 +0000 (13:24 -0500)]
Add jsdoc for setAnnotations() and an example of how to use them with native-format dates.
Dan Vanderkam [Thu, 17 Nov 2011 22:23:48 +0000 (17:23 -0500)]
Patch for issue 242 from kberg
Dan Vanderkam [Sat, 5 Nov 2011 17:38:12 +0000 (10:38 -0700)]
Merge pull request #97 from bombela/master
fix js exception on interactive zoom
François-Xavier Bourlet [Wed, 2 Nov 2011 04:54:42 +0000 (21:54 -0700)]
fix js exception on interactive zoom
I only tried and noticed this bug with chrome and firefox.
The bug was introduced in commit:
920208fbb3565a1f9075d49a7be486819bdd1174
The code is trying to access to a non existent property
"this.layout_.plotArea" while the correct version seem
to be "this.layout_.getPlotArea()".
Dan Vanderkam [Wed, 19 Oct 2011 09:52:14 +0000 (05:52 -0400)]
Merge branch 'master' of github.com:danvk/dygraphs
Paul Felix [Mon, 17 Oct 2011 22:15:55 +0000 (18:15 -0400)]
Various fixes/workarounds for IE7/IE8 and some fixes/tweaks of range selector
For background on IE7/IE8 work, see the following:
http://groups.google.com/group/dygraphs-users/browse_thread/thread/
8c305992bf185ea8
Also, I have a fix of a recent commit in dygraph-utils.js that checks for instance of Node, which doesn't exist in IE7/IE8.
In addition to some minor tweaks and code cleanup in dygraph-range-selector.js, there's a fix for issue #90.
Robert Konigsberg [Mon, 17 Oct 2011 16:38:37 +0000 (12:38 -0400)]
Move to JSTD133
Robert Konigsberg [Mon, 17 Oct 2011 16:34:40 +0000 (12:34 -0400)]
Enhancement to dygraph-many-point*-benchmark.html
Dan Vanderkam [Sun, 2 Oct 2011 10:27:51 +0000 (06:27 -0400)]
Merge branch 'master' of github.com:danvk/dygraphs
Robert Konigsberg [Thu, 22 Sep 2011 19:18:53 +0000 (12:18 -0700)]
Merge pull request #89 from flooey/master
Test for previous bugfix
Adam Vartanian [Thu, 22 Sep 2011 18:32:54 +0000 (14:32 -0400)]
Add test for laying out multiple axis items that ensures that
all the components are within the specified bounds of the graph.
Part of this is commented out because there is currently a bug
that causes text to overflow if the browser inserts a linebreak.
Robert Konigsberg [Thu, 22 Sep 2011 14:58:30 +0000 (07:58 -0700)]
Merge pull request #86 from flooey/master
Fix bug where second axis would extend beyond graph boundaries
Robert Konigsberg [Thu, 22 Sep 2011 14:40:11 +0000 (07:40 -0700)]
Merge pull request #88 from kberg/master
Fixing bug 87
Robert Konigsberg [Thu, 22 Sep 2011 14:38:07 +0000 (10:38 -0400)]
Fix infinite loop when updateOptions contains labelsDiv (or any other document node for that matter.)
Adam Vartanian [Fri, 16 Sep 2011 23:58:10 +0000 (19:58 -0400)]
Change DygraphLayout so it calculates the plot area when its requested
rather than at construction. The layout is constructed before axis
information has been parsed, so it always assumes there's only one axis
and never learns otherwise.
Update test to show a border around the div bounding box. Prior to the
fix, the second axis would clearly extend beyond the box.
Dan Vanderkam [Mon, 29 Aug 2011 20:42:38 +0000 (16:42 -0400)]
temporarily disable some ticker tests
Dan Vanderkam [Fri, 26 Aug 2011 17:37:52 +0000 (10:37 -0700)]
update docs to point to blog
Dan Vanderkam [Thu, 25 Aug 2011 22:00:05 +0000 (18:00 -0400)]
switch from underscores to hyphens for CSS class names
Paul Felix [Thu, 25 Aug 2011 21:28:11 +0000 (14:28 -0700)]
A range selector widget for dygraphs.
This activates a more discoverable UI for panning and zooming, very similar to
the one used by the Annotated Timeline widget on Google Finance. Enable it by
passing 'showRangeSelector: true' in the constructor options.
Dan Vanderkam [Thu, 18 Aug 2011 14:02:38 +0000 (10:02 -0400)]
update license comments
Dan Vanderkam [Wed, 17 Aug 2011 19:55:49 +0000 (15:55 -0400)]
fix disappearing annotations bug
Dan Vanderkam [Wed, 17 Aug 2011 17:51:36 +0000 (13:51 -0400)]
update All Rights Reserved string
Dan Vanderkam [Wed, 17 Aug 2011 17:01:47 +0000 (13:01 -0400)]
Factor out ticker functions and clean up their semantics/usage.
This introduces a new syntax for per-axis properties:
axes: {
x: {
valueFormatter: ...
}
}
The old syntax (xValueFormatter) still works, but is less general.
The valueFormatter and axisLabelFormatter options are now used
consistently between x- and y-axes and have a predictable set of
parameters.
Includes lots of tests for all relevant behaviors.
Dan Vanderkam [Thu, 11 Aug 2011 21:42:55 +0000 (17:42 -0400)]
error bars test
Dan Vanderkam [Thu, 11 Aug 2011 21:24:28 +0000 (17:24 -0400)]
Fix display of error bars when using logscale
Dan Vanderkam [Wed, 10 Aug 2011 21:10:17 +0000 (17:10 -0400)]
remove extra log
Dan Vanderkam [Tue, 9 Aug 2011 20:28:10 +0000 (16:28 -0400)]
Set a max-width on the content column of the main documentation page and add a "Fork me on github" ribbon.
Dan Vanderkam [Tue, 9 Aug 2011 15:47:12 +0000 (11:47 -0400)]
Add a test case for rolling averages and fix two bugs that it uncovered
Dan Vanderkam [Tue, 9 Aug 2011 15:46:45 +0000 (11:46 -0400)]
A small shell script to create a new auto_test
Dan Vanderkam [Mon, 8 Aug 2011 11:25:00 +0000 (07:25 -0400)]
Simplify running tests from auto_tests/misc/local.html. Now a one-step process with full auto-complete.
Dan Vanderkam [Wed, 3 Aug 2011 18:19:00 +0000 (21:19 +0300)]
From antrob: Single point per pixel, do the optimization in the actual rendering function.
This is not as fast as skipping the points altogether, but it still
provides an excellent speed up for large data sets and will not cause
issues with other functions that expect the points to be there.
This is safe with setSelection, annotations, etc.
Dan Vanderkam [Tue, 2 Aug 2011 04:35:17 +0000 (07:35 +0300)]
From antrob; don't recalculate layout when updateOptions() would not change it.
This suppresses recalculation of the pixel position of points when calling
updateOptions() with options which will not affect the layout. Insignificant
for small graphs, but this change provides a great performance boost for
changing options for graphs with multiple data sets.
Anthony saw something like a 30-40% speedup for dense charts.
Dan Vanderkam [Tue, 2 Aug 2011 04:25:37 +0000 (07:25 +0300)]
Merge branch 'master' of github.com:danvk/dygraphs
Dan Vanderkam [Tue, 2 Aug 2011 04:25:21 +0000 (21:25 -0700)]
Merge pull request #81 from kberg/master
Simpler test execution when running locally.
Dan Vanderkam [Tue, 2 Aug 2011 04:23:55 +0000 (07:23 +0300)]
cleanup; use passing assert
Dan Vanderkam [Tue, 2 Aug 2011 04:20:31 +0000 (07:20 +0300)]
Merge branch 'master' of https://github.com/lrobb/dygraphs into lrobb
Dan Vanderkam [Tue, 2 Aug 2011 04:19:17 +0000 (07:19 +0300)]
Merge branch 'master' of github.com:danvk/dygraphs
Robert Konigsberg [Mon, 1 Aug 2011 20:09:57 +0000 (16:09 -0400)]
Provide local test execution by function reference, which is much
friendlier than existing string-based invocation.
unknown [Mon, 1 Aug 2011 00:01:56 +0000 (19:01 -0500)]
Format for x-axis labels test added.
Dan Vanderkam [Wed, 27 Jul 2011 07:27:25 +0000 (03:27 -0400)]
remove ineffective labelsDivStyle, rename the other
Dan Vanderkam [Wed, 27 Jul 2011 07:25:22 +0000 (03:25 -0400)]
set class on labelsDiv
Dan Vanderkam [Wed, 27 Jul 2011 07:14:43 +0000 (03:14 -0400)]
resize automatically
Dan Vanderkam [Tue, 26 Jul 2011 21:00:47 +0000 (17:00 -0400)]
fix bug with invisible dygraphs and add a regression test
Dan Vanderkam [Tue, 26 Jul 2011 15:21:45 +0000 (11:21 -0400)]
change line endings back in rgbcolor.js
Dan Vanderkam [Tue, 26 Jul 2011 15:14:59 +0000 (11:14 -0400)]
misc cleanup
Dan Vanderkam [Tue, 26 Jul 2011 04:49:41 +0000 (00:49 -0400)]
add timingName option
Dan Vanderkam [Tue, 26 Jul 2011 03:44:54 +0000 (23:44 -0400)]
clean up alignment
Dan Vanderkam [Tue, 26 Jul 2011 03:32:26 +0000 (23:32 -0400)]
Merge branch 'canvas' of https://github.com/clocksmith/dygraphs
Dan Vanderkam [Tue, 26 Jul 2011 03:30:00 +0000 (23:30 -0400)]
temporarily disable optimization
Dan Vanderkam [Tue, 26 Jul 2011 03:28:45 +0000 (23:28 -0400)]
regression test for dense setSelection bug; currently fails
Dan Vanderkam [Mon, 25 Jul 2011 22:45:37 +0000 (18:45 -0400)]
prefer to use offsetWidth & offsetHeight when applicable. Add auto_test for dygraph div sizing.
Anthony Robledo [Wed, 20 Jul 2011 21:13:37 +0000 (17:13 -0400)]
changed renderLineCharts algorithm for graphs without errorbars from O(k^2 * n) to O(k * n) where k is number of series and n is number of points per series.
Dan Vanderkam [Wed, 20 Jul 2011 15:17:04 +0000 (08:17 -0700)]
Merge pull request #76 from clocksmith/singleppp
Deleted unnecessary line that was causing variable name collision that af
Anthony Robledo [Wed, 20 Jul 2011 02:03:54 +0000 (22:03 -0400)]
Deleted unnecessary line that was causing variable name collision that affected single point per pixel optimization.
Dan Vanderkam [Tue, 19 Jul 2011 21:36:05 +0000 (17:36 -0400)]
drop pixel skipping optimization w/ annotations, too
Anthony Robledo [Tue, 19 Jul 2011 21:00:01 +0000 (17:00 -0400)]
Only add 1 point per pixel for graphs without error bars to speed up rendering.
Anthony Robledo [Tue, 19 Jul 2011 20:21:46 +0000 (16:21 -0400)]
Added two demos to the tests folder for the sf vs ny temperatures.
Dan Vanderkam [Fri, 15 Jul 2011 20:27:45 +0000 (16:27 -0400)]
Division by zero bug fix and regression test
Dan Vanderkam [Tue, 12 Jul 2011 21:27:39 +0000 (17:27 -0400)]
kberg requests that nonInteractiveModel be private
Dan Vanderkam [Tue, 12 Jul 2011 19:55:55 +0000 (15:55 -0400)]
Add Dygraph.Interaction.nonInteractiveModel. This disables pan/zoom interactions while preserving the expected behavior of clickCallback and pointClickCallback. Also includes a test and auto_test.
Anthony Robledo [Fri, 1 Jul 2011 17:10:41 +0000 (13:10 -0400)]
Updated the random function generator to be less sporadic.
Anthony Robledo [Tue, 28 Jun 2011 19:45:53 +0000 (15:45 -0400)]
Added an option to plot random points instead of just a sine wave.
Dan Vanderkam [Thu, 7 Jul 2011 21:02:25 +0000 (17:02 -0400)]
make dygraph-dev a bit smarter
Dan Vanderkam [Tue, 28 Jun 2011 14:59:07 +0000 (07:59 -0700)]
Merge pull request #69 from kberg/master
Fix 203 for real. It was just a bad test.
Robert Konigsberg [Mon, 27 Jun 2011 22:38:53 +0000 (18:38 -0400)]
Bad test! Use pixel counts, don't rely on stupid anchor tags.