Layers.tests.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /* global QUnit */
  2. import { Layers } from '../../../../src/core/Layers';
  3. export default QUnit.module( 'Core', () => {
  4. QUnit.module( 'Layers', () => {
  5. // INSTANCING
  6. QUnit.todo( "Instancing", ( assert ) => {
  7. assert.ok( false, "everything's gonna be alright" );
  8. } );
  9. // PUBLIC STUFF
  10. QUnit.test( "set", ( assert ) => {
  11. var a = new Layers();
  12. a.set( 0 );
  13. assert.strictEqual( a.mask, 1, "Set channel 0" );
  14. a.set( 1 );
  15. assert.strictEqual( a.mask, 2, "Set channel 1" );
  16. a.set( 2 );
  17. assert.strictEqual( a.mask, 4, "Set channel 2" );
  18. } );
  19. QUnit.test( "enable", ( assert ) => {
  20. var a = new Layers();
  21. a.set( 0 );
  22. a.enable( 0 );
  23. assert.strictEqual( a.mask, 1, "Enable channel 0 with mask 0" );
  24. a.set( 0 );
  25. a.enable( 1 );
  26. assert.strictEqual( a.mask, 3, "Enable channel 1 with mask 0" );
  27. a.set( 1 );
  28. a.enable( 0 );
  29. assert.strictEqual( a.mask, 3, "Enable channel 0 with mask 1" );
  30. a.set( 1 );
  31. a.enable( 1 );
  32. assert.strictEqual( a.mask, 2, "Enable channel 1 with mask 1" );
  33. } );
  34. QUnit.test( "toggle", ( assert ) => {
  35. var a = new Layers();
  36. a.set( 0 );
  37. a.toggle( 0 );
  38. assert.strictEqual( a.mask, 0, "Toggle channel 0 with mask 0" );
  39. a.set( 0 );
  40. a.toggle( 1 );
  41. assert.strictEqual( a.mask, 3, "Toggle channel 1 with mask 0" );
  42. a.set( 1 );
  43. a.toggle( 0 );
  44. assert.strictEqual( a.mask, 3, "Toggle channel 0 with mask 1" );
  45. a.set( 1 );
  46. a.toggle( 1 );
  47. assert.strictEqual( a.mask, 0, "Toggle channel 1 with mask 1" );
  48. } );
  49. QUnit.test( "disable", ( assert ) => {
  50. var a = new Layers();
  51. a.set( 0 );
  52. a.disable( 0 );
  53. assert.strictEqual( a.mask, 0, "Disable channel 0 with mask 0" );
  54. a.set( 0 );
  55. a.disable( 1 );
  56. assert.strictEqual( a.mask, 1, "Disable channel 1 with mask 0" );
  57. a.set( 1 );
  58. a.disable( 0 );
  59. assert.strictEqual( a.mask, 2, "Disable channel 0 with mask 1" );
  60. a.set( 1 );
  61. a.disable( 1 );
  62. assert.strictEqual( a.mask, 0, "Disable channel 1 with mask 1" );
  63. } );
  64. QUnit.test( "test", ( assert ) => {
  65. var a = new Layers();
  66. var b = new Layers();
  67. assert.ok( a.test( b ), "Start out true" );
  68. a.set( 1 );
  69. assert.notOk( a.test( b ), "Set channel 1 in a and fail the QUnit.test" );
  70. b.toggle( 1 );
  71. assert.ok( a.test( b ), "Toggle channel 1 in b and pass again" );
  72. } );
  73. } );
  74. } );