Sha256: 54103e1de0dee91fcee9c88c2be5df4ea66a929da3363c2abd333379acbc2f9e

Contents?: true

Size: 1.47 KB

Versions: 30

Compression:

Stored size: 1.47 KB

Contents

require 'test_helper'
require 'fileutils'

class CompassPngTest < Test::Unit::TestCase
  
  def test_class_crc_table  
    assert_equal 256, Compass::PNG::CRC_TABLE.length 
    {0 => 0, 1 => 1996959894, 22 => 4107580753, 133 => 2647816111, 255 => 755167117}.each do |i, crc| 
      assert_equal crc, Compass::PNG::CRC_TABLE[i]
    end
  end                  

  def test_class_crc
    assert_equal 2666930069, Compass::PNG.crc('foobar')
    assert_equal 2035837995, Compass::PNG.crc('A721dasdN')
  end

  def test_class_chunk
    chunk = Compass::PNG.chunk 'IHDR', [10, 10, 8, 6, 0, 0, 0 ].pack('N2C5')

    header_crc = "\2152\317\275"
    header_data = "\000\000\000\n\000\000\000\n\b\006\000\000\000"
    header_length = "\000\000\000\r"

    header_chunk = "#{header_length}IHDR#{header_data}#{header_crc}"

    assert_equal header_chunk, chunk
  end

  def test_class_chunk_empty
    chunk = Compass::PNG.chunk 'IHDR'
    expected = "#{0.chr * 4}IHDR#{[Compass::PNG.crc("IHDR")].pack 'N'}"
    assert_equal expected, chunk
  end

  def test_to_blob
    png = Compass::PNG.new(5,10, [255,255,255])
    blob = 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAKCAIAAADzWwNnAAAAD0lEQVR4nGP4jwoYBhkfALRylWv4Dj0LAAAAAElFTkSuQmCC'.unpack('m*').first
    assert_equal blob, png.to_blob  
    
    png = Compass::PNG.new(10,5, [32,64,128])
    blob = 'iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAAEUlEQVR4nGNQcGjAgxgGUBoALT4rwRTA0gkAAAAASUVORK5CYII='.unpack('m*').first
    assert_equal blob, png.to_blob  
  end
  
end

Version data entries

30 entries across 29 versions & 5 rubygems

Version Path
compass-0.12.7 test/units/compass_png_test.rb
sadui-0.0.4 vendor/bundle/ruby/2.1.0/gems/compass-0.12.3/test/units/compass_png_test.rb
sadui-0.0.4 vendor/bundle/ruby/2.0.0/gems/compass-0.12.3/test/units/compass_png_test.rb
compass-0.12.6 test/units/compass_png_test.rb
compass-0.12.5 test/units/compass_png_test.rb
compass-0.12.4 test/units/compass_png_test.rb
compass-0.12.3 test/units/compass_png_test.rb
compass-sourcemaps-0.12.4.sourcemaps.a4836f1 test/units/compass_png_test.rb
compass-0.13.alpha.2 test/units/compass_png_test.rb
compass-0.12.2 test/units/compass_png_test.rb
compass-0.12.2.rc.1 test/units/compass_png_test.rb
compass-0.12.2.rc.0 test/units/compass_png_test.rb
compass-0.13.alpha.0 test/units/compass_png_test.rb
compass-0.12.1 test/units/compass_png_test.rb
compass-0.12.0 test/units/compass_png_test.rb
radiant-1.0.0 ruby-debug/ruby/1.8/gems/compass-0.11.7/test/units/compass_png_test.rb
compass-0.12.rc.1 test/units/compass_png_test.rb
compass-0.12.rc.0 test/units/compass_png_test.rb
compass-0.11.7 test/units/compass_png_test.rb
compass-0.12.alpha.4 test/units/compass_png_test.rb