if(!dojo._hasResource["dojox.color.tests._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. dojo._hasResource["dojox.color.tests._base"] = true; dojo.provide("dojox.color.tests._base"); dojo.require("dojox.color"); /************************************************************ * Note that some color translations are not exact, * due to the need to round calculations in translation. * * These tests work with grey, the primary colors and * one secondary color to ensure that extreme calculation * is correct. ************************************************************/ tests.register("dojox.color.tests._base", [ function testStaticMethods(t){ // fromCmy t.assertEqual(dojox.color.fromCmy({ c:50, m:50, y:50}), new dojo.Color({ r:128, g:128, b:128 })); t.assertEqual(dojox.color.fromCmy({ c:0, m:100, y:100}), new dojo.Color({ r:255, g:0, b:0 })); t.assertEqual(dojox.color.fromCmy({ c:100, m:0, y:100}), new dojo.Color({ r:0, g:255, b:0 })); t.assertEqual(dojox.color.fromCmy({ c:100, m:100, y:0}), new dojo.Color({ r:0, g:0, b:255 })); t.assertEqual(dojox.color.fromCmy({ c:0, m:0, y:100}), new dojo.Color({ r:255, g:255, b:0 })); // fromCmyk t.assertEqual(dojox.color.fromCmyk({ c:0, m:0, y:0, b:50}), new dojo.Color({ r:128, g:128, b:128 })); t.assertEqual(dojox.color.fromCmyk({ c:0, m:100, y:100, b:0}), new dojo.Color({ r:255, g:0, b:0 })); t.assertEqual(dojox.color.fromCmyk({ c:100, m:0, y:100, b:0}), new dojo.Color({ r:0, g:255, b:0 })); t.assertEqual(dojox.color.fromCmyk({ c:100, m:100, y:0, b:0}), new dojo.Color({ r:0, g:0, b:255 })); t.assertEqual(dojox.color.fromCmyk({ c:0, m:0, y:100, b:0}), new dojo.Color({ r:255, g:255, b:0 })); // fromHsl t.assertEqual(dojox.color.fromHsl({ h:0, s:0, l:50}), new dojo.Color({ r:128, g:128, b:128 })); t.assertEqual(dojox.color.fromHsl({ h:0, s:100, l:50}), new dojo.Color({ r:255, g:0, b:0 })); t.assertEqual(dojox.color.fromHsl({ h:120, s:100, l:50}), new dojo.Color({ r:0, g:255, b:0 })); t.assertEqual(dojox.color.fromHsl({ h:240, s:100, l:50}), new dojo.Color({ r:0, g:0, b:255 })); t.assertEqual(dojox.color.fromHsl({ h:60, s:100, l:50}), new dojo.Color({ r:255, g:255, b:0 })); // fromHsv t.assertEqual(dojox.color.fromHsv({ h:0, s:0, v:50}), new dojo.Color({ r:128, g:128, b:128 })); t.assertEqual(dojox.color.fromHsv({ h:0, s:100, v:100}), new dojo.Color({ r:255, g:0, b:0 })); t.assertEqual(dojox.color.fromHsv({ h:120, s:100, v:100}), new dojo.Color({ r:0, g:255, b:0 })); t.assertEqual(dojox.color.fromHsv({ h:240, s:100, v:100}), new dojo.Color({ r:0, g:0, b:255 })); t.assertEqual(dojox.color.fromHsv({ h:60, s:100, v:100}), new dojo.Color({ r:255, g:255, b:0 })); }, function testColorExtensions(t){ var grey=new dojox.color.Color({ r:128, g:128, b:128 }); var red=new dojox.color.Color({ r:255, g:0, b:0 }); var green=new dojox.color.Color({ r:0, g:255, b:0 }); var blue=new dojox.color.Color({ r:0, g:0, b:255 }); var yellow=new dojox.color.Color({ r:255, g:255, b:0 }); // toCmy t.assertEqual(grey.toCmy(), { c:50, m:50, y:50 }); t.assertEqual(red.toCmy(), { c:0, m:100, y:100 }); t.assertEqual(green.toCmy(), { c:100, m:0, y:100 }); t.assertEqual(blue.toCmy(), { c:100, m:100, y:0 }); t.assertEqual(yellow.toCmy(), { c:0, m:0, y:100 }); // toCmyk t.assertEqual(grey.toCmyk(), { c:0, m:0, y:0, b:50 }); t.assertEqual(red.toCmyk(), { c:0, m:100, y:100, b:0 }); t.assertEqual(green.toCmyk(), { c:100, m:0, y:100, b:0 }); t.assertEqual(blue.toCmyk(), { c:100, m:100, y:0, b:0 }); t.assertEqual(yellow.toCmyk(), { c:0, m:0, y:100, b:0 }); // toHsl t.assertEqual(grey.toHsl(), { h:0, s:0, l:50 }); t.assertEqual(red.toHsl(), { h:0, s:100, l:50 }); t.assertEqual(green.toHsl(), { h:120, s:100, l:50 }); t.assertEqual(blue.toHsl(), { h:240, s:100, l:50 }); t.assertEqual(yellow.toHsl(), { h:60, s:100, l:50 }); // toHsv t.assertEqual(grey.toHsv(), { h:0, s:0, v:50 }); t.assertEqual(red.toHsv(), { h:0, s:100, v:100 }); t.assertEqual(green.toHsv(), { h:120, s:100, v:100 }); t.assertEqual(blue.toHsv(), { h:240, s:100, v:100 }); t.assertEqual(yellow.toHsv(), { h:60, s:100, v:100 }); } ]); }