ImageUtils.test.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. QUnit.module( "ImageLoader", {
  2. beforeEach: function() {
  3. THREE.Cache.clear();
  4. }
  5. });
  6. var good_url = '../../examples/textures/sprite.png';
  7. var bad_url = 'url_not_found';
  8. QUnit.test( "test load handler", function( assert ) {
  9. var done = assert.async();
  10. new THREE.TextureLoader().load(good_url, function ( tex ) {
  11. assert.success( "load handler should be called" );
  12. assert.ok( tex, "texture is defined" );
  13. assert.ok( tex.image, "texture.image is defined" );
  14. done();
  15. }, undefined, function () {
  16. assert.fail( "error handler should not be called" );
  17. done();
  18. });
  19. });
  20. QUnit.test( "test error handler", function( assert ) {
  21. var done = assert.async();
  22. new THREE.TextureLoader().load(bad_url, function () {
  23. assert.fail( "load handler should not be called" );
  24. done();
  25. },
  26. undefined,
  27. function ( event ) {
  28. assert.success( "error handler should be called" );
  29. assert.ok( event.type === 'error', "should have error event" );
  30. done();
  31. });
  32. });
  33. QUnit.test( "test cached texture", function( assert ) {
  34. var done = assert.async();
  35. var rtex1 = new THREE.TextureLoader().load(good_url, function ( tex1 ) {
  36. assert.ok( rtex1.image !== undefined, "texture 1 image is loaded" );
  37. assert.equal( rtex1, tex1, "texture 1 callback is equal to return" );
  38. var rtex2 = new THREE.TextureLoader().load(good_url, function ( tex2 ) {
  39. assert.ok( rtex2 !== undefined, "cached callback is async" );
  40. assert.ok( rtex2.image !== undefined, "texture 2 image is loaded" );
  41. assert.equal( rtex2, tex2, "texture 2 callback is equal to return" );
  42. done();
  43. });
  44. assert.ok( rtex2, "texture 2 return is defined" );
  45. });
  46. assert.ok( rtex1, "texture 1 return is defined" );
  47. assert.ok( rtex1.image === undefined, "texture 1 image is not loaded" );
  48. });