summaryrefslogtreecommitdiff
path: root/test/mp/dye.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/mp/dye.js')
-rw-r--r--test/mp/dye.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/test/mp/dye.js b/test/mp/dye.js
new file mode 100644
index 0000000..a4819ae
--- /dev/null
+++ b/test/mp/dye.js
@@ -0,0 +1,52 @@
+var vows = require("vows"),
+ load = require("../load"),
+ assert = require("assert");
+
+var suite = vows.describe("mp.dye");
+
+suite.addBatch({
+ "The manaportal dye": {
+ topic: load("mp/dye").expression("mp.dye"),
+ "getChannel": {
+ topic: function(dye) { return dye.getChannel; },
+ "returns null given pure black": function(f) {
+ assert.equal(f([0,0,0]).channel, null);
+ },
+ "returns R given a pure red": function(f) {
+ assert.equal(f([255,0,0]).channel, "R");
+ assert.equal(f([12,0,0]).channel, "R");
+ },
+ "returns G given a pure green": function(f) {
+ assert.equal(f([0,255,0]).channel, "G");
+ assert.equal(f([0,50,0]).channel, "G");
+ },
+ "returns B given a pure blue": function (f) {
+ assert.equal(f([0,0,255]).channel, "B");
+ assert.equal(f([0,0,23]).channel, "B");
+ },
+ "returns C given a pure cyan": function (f) {
+ assert.equal(f([0,255,255]).channel, "C");
+ assert.equal(f([0,90,90]).channel, "C");
+ },
+ "returns M given a pure magenta": function (f) {
+ assert.equal(f([255,0,255]).channel, "M");
+ assert.equal(f([62,0,62]).channel, "M");
+ },
+ "returns Y given a pure yellow": function (f) {
+ assert.equal(f([255,255,0]).channel, "Y");
+ assert.equal(f([70,70,0]).channel, "Y");
+ },
+ "returns W given a pure white": function (f) {
+ assert.equal(f([255,255,255]).channel, "W");
+ assert.equal(f([100,100,100]).channel, "W");
+ },
+ "returns null given an impure color": function(f) {
+ assert.equal(f([12,34,56]).channel, null);
+ assert.equal(f([55,53,55]).channel, null);
+ assert.equal(f([0,128,254]).channel, null);
+ }
+ }
+ }
+});
+
+suite.export(module);