ImageUtils.test.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. THREE.ImageUtils.loadTexture( good_url, undefined, 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. }, 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. THREE.ImageUtils.loadTexture( bad_url, undefined, function () {
  23. assert.fail( "load handler should not be called" );
  24. done();
  25. }, function ( event ) {
  26. assert.success( "error handler should be called" );
  27. assert.ok( event.type === 'error', "should have error event" );
  28. done();
  29. });
  30. });
  31. QUnit.test( "test cached texture", function( assert ) {
  32. var done = assert.async();
  33. var rtex1 = THREE.ImageUtils.loadTexture( good_url, undefined, function ( tex1 ) {
  34. assert.ok( rtex1.image !== undefined, "texture 1 image is loaded" );
  35. assert.equal( rtex1, tex1, "texture 1 callback is equal to return" );
  36. var rtex2 = THREE.ImageUtils.loadTexture( good_url, undefined, function ( tex2 ) {
  37. assert.ok( rtex2 !== undefined, "cached callback is async" );
  38. assert.ok( rtex2.image !== undefined, "texture 2 image is loaded" );
  39. assert.equal( rtex2, tex2, "texture 2 callback is equal to return" );
  40. done();
  41. });
  42. assert.ok( rtex2, "texture 2 return is defined" );
  43. });
  44. assert.ok( rtex1, "texture 1 return is defined" );
  45. assert.ok( rtex1.image === undefined, "texture 1 image is not loaded" );
  46. });