public
Fork of Caged/gitnub
Description: A Gitk-like application written in RubyCocoa that looks like it belongs on a Mac. See the wiki for downloads and screenshots.
Homepage: http://alternateidea.com
Clone URL: git://github.com/drodriguez/gitnub.git
gitnub / mime-types / tests / tc_mime_types.rb
100644 78 lines (67 sloc) 2.604 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#! /usr/bin/env ruby
#--
# MIME::Types for Ruby
# http://rubyforge.org/projects/mime-types/
# Copyright 2003 - 2005 Austin Ziegler.
# Licensed under a MIT-style licence.
#
# $Id: tc_mime_types.rb,v 1.2 2006/02/12 21:27:22 austin Exp $
#++
$LOAD_PATH.unshift("#{File.dirname(__FILE__)}/../lib") if __FILE__ == $0
 
require 'mime/types'
require 'test/unit'
 
class TestMIME__Types < Test::Unit::TestCase #:nodoc:
  def test_s_AREF # singleton method '[]'
    text_plain = MIME::Type.new('text/plain') do |t|
      t.encoding = '8bit'
      t.extensions = ['asc', 'txt', 'c', 'cc', 'h', 'hh', 'cpp', 'hpp',
        'dat', 'hlp']
    end
    text_plain_vms = MIME::Type.new('text/plain') do |t|
      t.encoding = '8bit'
      t.extensions = ['doc']
      t.system = 'vms'
    end
    text_vnd_fly = MIME::Type.new('text/vnd.fly')
    assert_equal(MIME::Types['text/plain'].sort,
                 [text_plain, text_plain_vms].sort)
 
    tst_bmp = MIME::Types["image/x-bmp"] +
      MIME::Types["image/vnd.wap.wbmp"] + MIME::Types["image/x-win-bmp"]
 
    assert_equal(tst_bmp.sort, MIME::Types[/bmp$/].sort)
    assert_nothing_raised {
      MIME::Types['image/bmp'][0].system = RUBY_PLATFORM
    }
    assert_equal([MIME::Type.from_array('image/x-bmp', ['bmp'])],
                 MIME::Types[/bmp$/, { :platform => true }])
 
    assert(MIME::Types['text/vnd.fly', { :complete => true }].empty?)
    assert(!MIME::Types['text/plain', { :complete => true} ].empty?)
  end
 
  def test_s_add
    assert_nothing_raised do
      @eruby = MIME::Type.new("application/x-eruby") do |t|
        t.extensions = "rhtml"
        t.encoding = "8bit"
      end
 
      MIME::Types.add(@eruby)
    end
 
    assert_equal(MIME::Types['application/x-eruby'], [@eruby])
  end
 
  def test_s_type_for
    assert_equal(MIME::Types.type_for('xml').sort, [ MIME::Types['text/xml'], MIME::Types['application/xml'] ].sort)
    assert_equal(MIME::Types.type_for('gif'), MIME::Types['image/gif'])
    assert_nothing_raised do
      MIME::Types['image/gif'][0].system = RUBY_PLATFORM
    end
    assert_equal(MIME::Types.type_for('gif', true), MIME::Types['image/gif'])
    assert(MIME::Types.type_for('zzz').empty?)
  end
 
  def test_s_of
    assert_equal(MIME::Types.of('xml').sort, [ MIME::Types['text/xml'], MIME::Types['application/xml'] ].sort)
    assert_equal(MIME::Types.of('gif'), MIME::Types['image/gif'])
    assert_nothing_raised do
      MIME::Types['image/gif'][0].system = RUBY_PLATFORM
    end
    assert_equal(MIME::Types.of('gif', true), MIME::Types['image/gif'])
    assert(MIME::Types.of('zzz').empty?)
  end
end