Sha256: 0bfeb0025f1386df27ae1117041550996fde8d9385a8cfa2f6deebfb76498ec4

Contents?: true

Size: 1.44 KB

Versions: 31

Compression:

Stored size: 1.44 KB

Contents

require("../env");
require("../../d3");

var vows = require("vows"),
    assert = require("assert");

var suite = vows.describe("d3.first");

suite.addBatch({
  "first": {
    topic: function() {
      return d3.first;
    },
    "compares using natural order by default": function(first) {
      assert.strictEqual(first([1, 0]), 0);
      assert.strictEqual(first(["1", 0]), 0);
      assert.strictEqual(first(["2", "10"]), "10");
      assert.strictEqual(first(["2", NaN, "10"]), "10");
      assert.strictEqual(first([2, NaN, 10]), 2);
    },
    "compares using optional comparator": function(first) {
      var i = 0, aa, bb, o = new Object();
      assert.strictEqual(first([1, o], function(a, b) { aa = a; bb = b; return ++i; }), o);
      assert.strictEqual(aa, 1);
      assert.strictEqual(bb, o);
      assert.strictEqual(first([1, 0], d3.descending), 1);
      assert.strictEqual(first(["1", 0], d3.descending), "1");
      assert.strictEqual(first(["2", "10"], d3.descending), "2");
      assert.strictEqual(first(["2", NaN, "10"], d3.descending), "2");
      assert.strictEqual(first([2, NaN, 10], d3.descending), 10);
    },
    "returns the first of equal values": function(last) {
      var a = new Object(), b = new Object(), c = new Object();
      assert.strictEqual(last([a, b, c], function() { return 0; }), a);
    },
    "returns undefined for an empty array": function(first) {
      assert.isUndefined(first([]));
    }
  }
});

suite.export(module);

Version data entries

31 entries across 31 versions & 2 rubygems

Version Path
picky-statistics-4.5.0 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.4.2 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.4.1 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.4.0 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.3.2 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.3.1 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.3.0 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.2.4 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.2.3 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.2.2 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.2.1 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.2.0 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.1.0 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.0.9 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.0.8 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.0.7 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.0.6 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.0.5 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.0.4 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js
picky-statistics-4.0.3 lib/picky-statistics/application/javascripts/d3/test/core/first-test.js