glue 0.31.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/doc/AUTHORS +1 -1
- data/doc/LICENSE +2 -3
- data/doc/RELEASES +0 -4
- data/lib/glue.rb +3 -3
- data/lib/glue/attribute.rb +114 -0
- data/lib/glue/attributeutils.rb +117 -0
- data/lib/glue/autoreload.rb +0 -4
- data/lib/glue/builder.rb +0 -2
- data/lib/glue/builder/xml.rb +0 -2
- data/lib/glue/cache.rb +3 -5
- data/lib/glue/cache/drb.rb +0 -2
- data/lib/glue/cache/memory.rb +0 -2
- data/lib/glue/cache/og.rb +11 -6
- data/lib/glue/configuration.rb +60 -15
- data/lib/glue/fixture.rb +3 -5
- data/lib/glue/localization.rb +0 -2
- data/lib/glue/logger.rb +1 -2
- data/lib/glue/mail.rb +0 -2
- data/lib/glue/mailer.rb +4 -2
- data/lib/glue/mailer/incoming.rb +0 -2
- data/lib/glue/mailer/outgoing.rb +3 -5
- data/lib/glue/settings.rb +0 -2
- data/lib/glue/uri.rb +0 -2
- data/lib/glue/validation.rb +6 -8
- data/test/glue/builder/tc_xml.rb +3 -2
- data/test/glue/tc_attribute.rb +112 -0
- data/test/glue/{tc_property_mixins.rb → tc_attribute_mixins.rb} +9 -11
- data/test/glue/tc_configuration.rb +1 -1
- data/test/glue/tc_fixture.rb +4 -3
- data/test/glue/tc_logger.rb +2 -2
- data/test/glue/tc_mail.rb +22 -21
- data/test/glue/tc_stores.rb +0 -2
- data/test/glue/tc_uri.rb +12 -12
- data/test/glue/tc_validation.rb +13 -13
- metadata +52 -64
- data/INSTALL +0 -56
- data/ProjectInfo +0 -49
- data/README +0 -21
- data/lib/glue/markup.rb +0 -123
- data/lib/glue/property.rb +0 -290
- data/lib/glue/sanitize.rb +0 -48
- data/lib/glue/template.rb +0 -219
- data/setup.rb +0 -1585
- data/test/glue/tc_property.rb +0 -112
- data/test/glue/tc_property_type_checking.rb +0 -41
- data/test/glue/tc_template.rb +0 -35
    
        data/lib/glue/fixture.rb
    CHANGED
    
    | @@ -3,7 +3,7 @@ require 'facet/kernel/constant' | |
| 3 3 | 
             
            require 'facet/ormsupport'
         | 
| 4 4 |  | 
| 5 5 | 
             
            require 'glue/configuration'
         | 
| 6 | 
            -
            require ' | 
| 6 | 
            +
            require 'nitro/template'
         | 
| 7 7 |  | 
| 8 8 | 
             
            module Glue
         | 
| 9 9 |  | 
| @@ -94,7 +94,7 @@ class Fixture < Hash | |
| 94 94 | 
             
              def parse_yaml(path)
         | 
| 95 95 | 
             
                require 'yaml'
         | 
| 96 96 |  | 
| 97 | 
            -
                str =  | 
| 97 | 
            +
                str = Nitro::Template.new.render(File.read(path))
         | 
| 98 98 |  | 
| 99 99 | 
             
                if yaml = YAML::load(str)
         | 
| 100 100 | 
             
                  for name, data in yaml
         | 
| @@ -116,7 +116,7 @@ class Fixture < Hash | |
| 116 116 | 
             
              def parse_csv(path)
         | 
| 117 117 | 
             
                require 'csv'
         | 
| 118 118 |  | 
| 119 | 
            -
                str =  | 
| 119 | 
            +
                str = Nitro::Template.new.render(File.read(path))
         | 
| 120 120 |  | 
| 121 121 | 
             
                reader = CSV::Reader.create(str)
         | 
| 122 122 | 
             
                header = reader.shift
         | 
| @@ -152,5 +152,3 @@ private | |
| 152 152 | 
             
            end
         | 
| 153 153 |  | 
| 154 154 | 
             
            end
         | 
| 155 | 
            -
             | 
| 156 | 
            -
            # * George Moschovitis <gm@navel.gr>
         | 
    
        data/lib/glue/localization.rb
    CHANGED
    
    
    
        data/lib/glue/logger.rb
    CHANGED
    
    | @@ -157,6 +157,7 @@ class Logger | |
| 157 157 | 
             
              # Saddly have to duplicate the code to make
         | 
| 158 158 | 
             
              # Binding.of_caller work.
         | 
| 159 159 | 
             
              #++
         | 
| 160 | 
            +
              
         | 
| 160 161 | 
             
              def self.trace(expr, style=:p)
         | 
| 161 162 | 
             
                unless expr.respond_to? :to_str
         | 
| 162 163 | 
             
                  warn "trace: Can't evaluate the given value: #{caller.first}"
         | 
| @@ -207,5 +208,3 @@ module Logging | |
| 207 208 | 
             
            end
         | 
| 208 209 |  | 
| 209 210 | 
             
            end
         | 
| 210 | 
            -
             | 
| 211 | 
            -
            # * George Moschovitis  <gm@navel.gr>
         | 
    
        data/lib/glue/mail.rb
    CHANGED
    
    
    
        data/lib/glue/mailer.rb
    CHANGED
    
    | @@ -41,6 +41,10 @@ class Mailer < Mail | |
| 41 41 | 
             
              # The default template root.
         | 
| 42 42 |  | 
| 43 43 | 
             
              setting :template_root, :default => 'template/mail', :doc => 'The default template root'
         | 
| 44 | 
            +
             | 
| 45 | 
            +
              # The default from address
         | 
| 46 | 
            +
              
         | 
| 47 | 
            +
              setting :from, :default => 'bot@nitroproject.org', :doc => 'The default from address'
         | 
| 44 48 |  | 
| 45 49 | 
             
              # An array to store the delivered mails, useful
         | 
| 46 50 | 
             
              # for testing.
         | 
| @@ -49,5 +53,3 @@ class Mailer < Mail | |
| 49 53 | 
             
            end
         | 
| 50 54 |  | 
| 51 55 | 
             
            end
         | 
| 52 | 
            -
             | 
| 53 | 
            -
            # * George Moschovitis <gm@navel.gr>
         | 
    
        data/lib/glue/mailer/incoming.rb
    CHANGED
    
    
    
        data/lib/glue/mailer/outgoing.rb
    CHANGED
    
    | @@ -9,7 +9,7 @@ module OutgoingMailer | |
| 9 9 |  | 
| 10 10 | 
             
              on_included %{ base.extend ClassMethods }  
         | 
| 11 11 |  | 
| 12 | 
            -
              def initialize(from = nil, to = nil, subject = nil, body =  | 
| 12 | 
            +
              def initialize(from = nil, to = nil, subject = nil, body = Nitro::FileTemplate.new)
         | 
| 13 13 | 
             
                super
         | 
| 14 14 | 
             
                @charset = Mailer.default_charset.dup
         | 
| 15 15 | 
             
                @encode_subject = Mailer.encode_subject
         | 
| @@ -66,7 +66,7 @@ module OutgoingMailer | |
| 66 66 |  | 
| 67 67 | 
             
                  mailer.send(method_name, *params)
         | 
| 68 68 |  | 
| 69 | 
            -
                  unless mailer.body.is_a? | 
| 69 | 
            +
                  unless mailer.body.is_a? String
         | 
| 70 70 | 
             
                    mailer.body = render_body(method_name, mailer)
         | 
| 71 71 | 
             
                  end
         | 
| 72 72 |  | 
| @@ -94,7 +94,7 @@ module OutgoingMailer | |
| 94 94 | 
             
                def perform_delivery_smtp(mail) # :nodoc:
         | 
| 95 95 | 
             
                  c = Mailer.server
         | 
| 96 96 | 
             
                  Net::SMTP.start(c[:address], c[:port], c[:domain], c[:username], c[:password], c[:authentication]) do |smtp|
         | 
| 97 | 
            -
                    smtp.send_message(mail.encoded, mail.from, *[mail.to,mail.cc,mail.bcc].compact)
         | 
| 97 | 
            +
                    smtp.send_message(mail.encoded, mail.from, *[mail.to, mail.cc, mail.bcc].compact)
         | 
| 98 98 | 
             
                  end
         | 
| 99 99 | 
             
                end
         | 
| 100 100 |  | 
| @@ -117,5 +117,3 @@ module OutgoingMailer | |
| 117 117 | 
             
            end
         | 
| 118 118 |  | 
| 119 119 | 
             
            end
         | 
| 120 | 
            -
             | 
| 121 | 
            -
            # * George Moschovitis <gm@navel.gr>
         | 
    
        data/lib/glue/settings.rb
    CHANGED
    
    
    
        data/lib/glue/uri.rb
    CHANGED
    
    
    
        data/lib/glue/validation.rb
    CHANGED
    
    | @@ -1,4 +1,6 @@ | |
| 1 1 | 
             
            require 'facets/core/class/cattr'
         | 
| 2 | 
            +
            require 'facets/core/module/on_included'
         | 
| 3 | 
            +
            require 'facets/more/inheritor'
         | 
| 2 4 |  | 
| 3 5 | 
             
            require 'glue/configuration'
         | 
| 4 6 |  | 
| @@ -25,8 +27,8 @@ module Glue | |
| 25 27 | 
             
            # === Example
         | 
| 26 28 | 
             
            #
         | 
| 27 29 | 
             
            # class User
         | 
| 28 | 
            -
            #     | 
| 29 | 
            -
            #     | 
| 30 | 
            +
            #    attr_accessor :name, String 
         | 
| 31 | 
            +
            #    attr_accessor :level, Fixnum
         | 
| 30 32 | 
             
            #
         | 
| 31 33 | 
             
            #    validate_length :name, :range => 2..6 
         | 
| 32 34 | 
             
            #    validate_unique :name, :msg => :name_allready_exists 
         | 
| @@ -114,9 +116,9 @@ module Validation | |
| 114 116 | 
             
                def clear
         | 
| 115 117 | 
             
                  @errors.clear
         | 
| 116 118 | 
             
                end
         | 
| 117 | 
            -
             | 
| 119 | 
            +
             | 
| 118 120 | 
             
                def to_a
         | 
| 119 | 
            -
                  @errors. | 
| 121 | 
            +
                  @errors.inject([]) { |a, kv| a << kv }
         | 
| 120 122 | 
             
                end
         | 
| 121 123 |  | 
| 122 124 | 
             
                def join(glue)
         | 
| @@ -443,7 +445,3 @@ end | |
| 443 445 | 
             
            class Module # :nodoc: all
         | 
| 444 446 | 
             
              include Glue::Validation::ClassMethods
         | 
| 445 447 | 
             
            end
         | 
| 446 | 
            -
             | 
| 447 | 
            -
            # * George Moschovitis <gm@navel.gr>
         | 
| 448 | 
            -
            # * Brian Bugh <brian@xsi-design.com>
         | 
| 449 | 
            -
            # * Bryan Soto <bryan.a.soto@gmail.com>
         | 
    
        data/test/glue/builder/tc_xml.rb
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib')
         | 
| 2 | 
            +
            $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', '..', 'nitro', 'lib')
         | 
| 2 3 |  | 
| 3 4 | 
             
            require 'test/unit'
         | 
| 4 5 | 
             
            require 'glue/builder/xml'
         | 
| @@ -22,8 +23,8 @@ class TC_BuildersXml < Test::Unit::TestCase # :nodoc: all | |
| 22 23 | 
             
                assert_equal '<b>This is bold</b>', x.buffer
         | 
| 23 24 |  | 
| 24 25 | 
             
                x = Glue::XmlBuilder.new
         | 
| 25 | 
            -
                x.a(' | 
| 26 | 
            -
                assert_equal '<a href="http://www. | 
| 26 | 
            +
                x.a('Nitro', :href => 'http://www.nitroproject.org')
         | 
| 27 | 
            +
                assert_equal '<a href="http://www.nitroproject.org">Nitro</a>', x.buffer
         | 
| 27 28 |  | 
| 28 29 |  | 
| 29 30 | 
             
                x = Glue::XmlBuilder.new
         | 
| @@ -0,0 +1,112 @@ | |
| 1 | 
            +
            $:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
         | 
| 2 | 
            +
            $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'og', 'lib')
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            require 'test/unit'
         | 
| 5 | 
            +
            require 'og'
         | 
| 6 | 
            +
            require 'glue/logger'
         | 
| 7 | 
            +
            require 'glue/attribute'
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            def VarChar(size)
         | 
| 10 | 
            +
              return String, :sql => "VARCHAR(#{ size })"
         | 
| 11 | 
            +
            end
         | 
| 12 | 
            +
            NotNull = {:sql => "NOT NULL"}.freeze
         | 
| 13 | 
            +
            Null = {:sql => "NULL"}.freeze
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            module Test # :nodoc: all
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            class Msg
         | 
| 18 | 
            +
              include Og::Unmanageable
         | 
| 19 | 
            +
              
         | 
| 20 | 
            +
              attr_accessor :owner_oid, Fixnum
         | 
| 21 | 
            +
              attr_accessor :val1, :val2, :val3, Fixnum, :sql => "smallint"
         | 
| 22 | 
            +
              attr_accessor :title, :body, String
         | 
| 23 | 
            +
              attr_accessor :test, String, :sql => "char(10) NOT NULL"
         | 
| 24 | 
            +
              attr_accessor :count, Fixnum
         | 
| 25 | 
            +
              attr_accessor :create_time, Time  
         | 
| 26 | 
            +
             | 
| 27 | 
            +
              # a marshaled property
         | 
| 28 | 
            +
              attr_accessor :options, Array
         | 
| 29 | 
            +
             | 
| 30 | 
            +
              # property with macro arguments!
         | 
| 31 | 
            +
              attr_accessor :address, VarChar(30), NotNull
         | 
| 32 | 
            +
              
         | 
| 33 | 
            +
              def initialize
         | 
| 34 | 
            +
                @create_time = Time.now
         | 
| 35 | 
            +
                @options = []
         | 
| 36 | 
            +
              end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
            class SubMsg < Msg
         | 
| 41 | 
            +
              # to avoid conflicts with tc_og.rb
         | 
| 42 | 
            +
              include Og::Unmanageable
         | 
| 43 | 
            +
              
         | 
| 44 | 
            +
              # duplicate definition with different type!
         | 
| 45 | 
            +
              attr_accessor :count, Float
         | 
| 46 | 
            +
             | 
| 47 | 
            +
              # another property
         | 
| 48 | 
            +
              attr_accessor :another, Fixnum
         | 
| 49 | 
            +
            end
         | 
| 50 | 
            +
             | 
| 51 | 
            +
            class C
         | 
| 52 | 
            +
              attr_accessor :name
         | 
| 53 | 
            +
              attr_accessor :description
         | 
| 54 | 
            +
            end
         | 
| 55 | 
            +
             | 
| 56 | 
            +
            class C
         | 
| 57 | 
            +
              attr_accessor :name, String
         | 
| 58 | 
            +
              attr_accessor :description, String
         | 
| 59 | 
            +
            end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
            class TC_N_Attributes < Test::Unit::TestCase
         | 
| 62 | 
            +
             | 
| 63 | 
            +
              def setup
         | 
| 64 | 
            +
                Msg.define_force_methods
         | 
| 65 | 
            +
                @msg1 = Msg.new
         | 
| 66 | 
            +
              end
         | 
| 67 | 
            +
             | 
| 68 | 
            +
              def teardown
         | 
| 69 | 
            +
                @msg1 = nil
         | 
| 70 | 
            +
              end
         | 
| 71 | 
            +
             | 
| 72 | 
            +
              def test_props
         | 
| 73 | 
            +
                
         | 
| 74 | 
            +
                # bug: props for subclasses.
         | 
| 75 | 
            +
                # bug: props propagated to base classes.
         | 
| 76 | 
            +
             | 
| 77 | 
            +
                assert(SubMsg.serializable_attributes)
         | 
| 78 | 
            +
                assert_equal(Msg.serializable_attributes.size(), SubMsg.serializable_attributes.size() - 1)
         | 
| 79 | 
            +
             | 
| 80 | 
            +
                assert_equal(11, Msg.serializable_attributes.size)
         | 
| 81 | 
            +
                assert_equal(12, SubMsg.serializable_attributes.size)
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                # bug: duplicate definition       
         | 
| 84 | 
            +
                
         | 
| 85 | 
            +
                a = SubMsg.serializable_attributes.find { |p| :count == p }
         | 
| 86 | 
            +
                assert_equal(Float, SubMsg.ann[SubMsg.serializable_attributes.find { |p| :count == p }].class)
         | 
| 87 | 
            +
             | 
| 88 | 
            +
                # dont force conversion.
         | 
| 89 | 
            +
                
         | 
| 90 | 
            +
                @msg1.count = 2.4
         | 
| 91 | 
            +
                assert_equal(Float, @msg1.count.class)
         | 
| 92 | 
            +
             | 
| 93 | 
            +
                # force conversion
         | 
| 94 | 
            +
                
         | 
| 95 | 
            +
                @msg1.__force_count(2.4)
         | 
| 96 | 
            +
                assert_equal(Fixnum, @msg1.count.class)    
         | 
| 97 | 
            +
              end
         | 
| 98 | 
            +
             | 
| 99 | 
            +
              def test_macro_params
         | 
| 100 | 
            +
                sql = Msg.ann[Msg.serializable_attributes.find { |p| :address == p}].sql
         | 
| 101 | 
            +
            # FIXME: Temporarily dissabled.
         | 
| 102 | 
            +
            #   assert_equal 'VARCHAR(30) NOT NULL', sql
         | 
| 103 | 
            +
              end
         | 
| 104 | 
            +
             | 
| 105 | 
            +
             | 
| 106 | 
            +
              def test_soc
         | 
| 107 | 
            +
                assert_equal String, C.ann.name.class
         | 
| 108 | 
            +
              end
         | 
| 109 | 
            +
              
         | 
| 110 | 
            +
            end
         | 
| 111 | 
            +
             | 
| 112 | 
            +
            end
         | 
| @@ -1,10 +1,11 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            $:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
         | 
| 2 | 
            +
            $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'og', 'lib')
         | 
| 2 3 |  | 
| 3 4 | 
             
            require 'test/unit'
         | 
| 4 | 
            -
            require 'glue/ | 
| 5 | 
            +
            require 'glue/attribute'
         | 
| 5 6 |  | 
| 6 7 | 
             
            module Mixin
         | 
| 7 | 
            -
               | 
| 8 | 
            +
              attr_accessor :date
         | 
| 8 9 | 
             
              ann self, :dummy => [123]
         | 
| 9 10 | 
             
            end
         | 
| 10 11 |  | 
| @@ -21,18 +22,18 @@ end | |
| 21 22 | 
             
            class MixedWithProp
         | 
| 22 23 | 
             
              include Mixin
         | 
| 23 24 |  | 
| 24 | 
            -
               | 
| 25 | 
            +
              attr_accessor :dummy
         | 
| 25 26 | 
             
            end
         | 
| 26 27 |  | 
| 27 28 | 
             
            class Pure
         | 
| 28 | 
            -
               | 
| 29 | 
            +
              attr_accessor :dummy
         | 
| 29 30 | 
             
            end
         | 
| 30 31 |  | 
| 31 32 | 
             
            class Empty
         | 
| 32 33 | 
             
            end
         | 
| 33 34 |  | 
| 34 35 | 
             
            class Base
         | 
| 35 | 
            -
               | 
| 36 | 
            +
              attr_accessor :date
         | 
| 36 37 | 
             
              ann self, :dummy => [123]
         | 
| 37 38 | 
             
            end
         | 
| 38 39 |  | 
| @@ -52,7 +53,7 @@ class TC_MixinsTest < ::Test::Unit::TestCase | |
| 52 53 | 
             
              end
         | 
| 53 54 |  | 
| 54 55 | 
             
              def test_manage_entities
         | 
| 55 | 
            -
                assert_respond_to( Pure, : | 
| 56 | 
            +
                assert_respond_to( Pure, :serializable_attributes )
         | 
| 56 57 | 
             
                assert_respond_to( Pure.new, :dummy )
         | 
| 57 58 | 
             
              end
         | 
| 58 59 |  | 
| @@ -61,7 +62,7 @@ class TC_MixinsTest < ::Test::Unit::TestCase | |
| 61 62 | 
             
              end
         | 
| 62 63 |  | 
| 63 64 | 
             
              def test_managing_mixins
         | 
| 64 | 
            -
                assert_respond_to( Mixin, : | 
| 65 | 
            +
                assert_respond_to( Mixin, :serializable_attributes )
         | 
| 65 66 | 
             
              end
         | 
| 66 67 |  | 
| 67 68 | 
             
              def test_managing_mixed_classes
         | 
| @@ -83,6 +84,3 @@ class TC_MixinsTest < ::Test::Unit::TestCase | |
| 83 84 | 
             
            =end
         | 
| 84 85 | 
             
              end
         | 
| 85 86 | 
             
            end
         | 
| 86 | 
            -
             | 
| 87 | 
            -
            # * Thomas Quas <tquas@yahoo.com>
         | 
| 88 | 
            -
            # * George Moschovitis <gm@navel.gr>
         | 
| @@ -96,7 +96,7 @@ class TC_Configuration < Test::Unit::TestCase # :nodoc: all | |
| 96 96 | 
             
                assert_equal '/gmosx/2', Configuration[Dummy][:root_dir].value
         | 
| 97 97 | 
             
                assert_equal 2, Another.max_age
         | 
| 98 98 |  | 
| 99 | 
            -
                Configuration. | 
| 99 | 
            +
                Configuration.parse_yaml <<-end_val
         | 
| 100 100 | 
             
            Another:
         | 
| 101 101 | 
             
              max_age: 5
         | 
| 102 102 | 
             
            TC_Configuration.Internal:
         | 
    
        data/test/glue/tc_fixture.rb
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            $:.unshift File.join(File.dirname(__FILE__), 'lib')
         | 
| 2 | 
            +
            $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'nitro', 'lib')
         | 
| 2 3 |  | 
| 3 4 | 
             
            require 'test/unit'
         | 
| 4 5 | 
             
            require 'glue/fixture'
         | 
| @@ -27,8 +28,8 @@ class TestFixtureExplicitRootDir < Test::Unit::TestCase # :nodoc: all | |
| 27 28 | 
             
                assert_equal 'Renos', users['renos'].name
         | 
| 28 29 |  | 
| 29 30 | 
             
                articles = Fixture.new(Article, :root_dir => RootDir)
         | 
| 30 | 
            -
             | 
| 31 | 
            -
                assert_equal  | 
| 31 | 
            +
             | 
| 32 | 
            +
                assert_equal 10, articles.size
         | 
| 32 33 | 
             
                assert_equal 'This is cool', articles['article_1'].title
         | 
| 33 34 | 
             
                assert_equal 'Another', articles['article_2'].title
         | 
| 34 35 | 
             
                assert_equal 'I love this', articles['Test'].title
         | 
| @@ -80,7 +81,7 @@ class TestFixtureRootDirSetting < Test::Unit::TestCase # :nodoc: all | |
| 80 81 |  | 
| 81 82 | 
             
                articles = Fixture.new(Article)
         | 
| 82 83 |  | 
| 83 | 
            -
                assert_equal  | 
| 84 | 
            +
                assert_equal 10, articles.size
         | 
| 84 85 | 
             
                assert_equal 'This is cool', articles['article_1'].title
         | 
| 85 86 | 
             
                assert_equal 'Another', articles['article_2'].title
         | 
| 86 87 | 
             
                assert_equal 'I love this', articles['Test'].title
         | 
    
        data/test/glue/tc_logger.rb
    CHANGED
    
    | @@ -20,8 +20,8 @@ class TC_Logger < Test::Unit::TestCase # :nodoc: all | |
| 20 20 | 
             
                # bug: Binding.of_caller thinks Logger is the caller.
         | 
| 21 21 | 
             
                a = 14
         | 
| 22 22 | 
             
                b = 13
         | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 23 | 
            +
            #   Logger.trace 'a * b'
         | 
| 24 | 
            +
            #   assert_equal(" INFO: hello\nDEBUG: a * b = 182\n", @io.string)
         | 
| 25 25 |  | 
| 26 26 | 
             
                @io.string = ''
         | 
| 27 27 | 
             
                Logger.debug 'hello'
         | 
    
        data/test/glue/tc_mail.rb
    CHANGED
    
    | @@ -1,10 +1,11 @@ | |
| 1 1 | 
             
            $:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
         | 
| 2 | 
            +
            $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'nitro', 'lib')
         | 
| 3 | 
            +
            $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'og', 'lib')
         | 
| 2 4 |  | 
| 3 5 | 
             
            $NITRO_NO_ENVIRONMENT = true
         | 
| 4 6 |  | 
| 5 7 | 
             
            require 'test/unit'
         | 
| 6 8 | 
             
            require 'ostruct'
         | 
| 7 | 
            -
             | 
| 8 9 | 
             
            require 'nitro'
         | 
| 9 10 | 
             
            require 'glue/configuration'
         | 
| 10 11 | 
             
            require 'glue/mailer'
         | 
| @@ -15,24 +16,24 @@ class TestCaseMail < Test::Unit::TestCase # :nodoc: all | |
| 15 16 | 
             
              class DummyMailer < Mailer
         | 
| 16 17 | 
             
                def initialize 
         | 
| 17 18 | 
             
                  super
         | 
| 18 | 
            -
                  @bcc = ' | 
| 19 | 
            +
                  @bcc = 'george.moschovitis@gmail.com'
         | 
| 19 20 | 
             
                  @template_root = 'test/public/dummy_mailer'
         | 
| 20 21 | 
             
                end
         | 
| 21 22 |  | 
| 22 23 | 
             
                def registration(to, username, token)
         | 
| 23 24 | 
             
                  @to = to 
         | 
| 24 | 
            -
                  @from = 'system@ | 
| 25 | 
            +
                  @from = 'system@nitroproject.org'
         | 
| 25 26 | 
             
                  @subject = 'Nitro.com registration'
         | 
| 26 | 
            -
                  @cc = ' | 
| 27 | 
            +
                  @cc = 'george.moschovitis@gmail.com'
         | 
| 27 28 | 
             
                  @body.username = username
         | 
| 28 29 | 
             
                  @body.token = token
         | 
| 29 30 | 
             
                end
         | 
| 30 31 |  | 
| 31 32 | 
             
                def greek(to)
         | 
| 32 33 | 
             
                  @to = to 
         | 
| 33 | 
            -
                  @from = 'system@ | 
| 34 | 
            +
                  @from = 'system@nitroproject.org'
         | 
| 34 35 | 
             
                  @subject = 'Ελληνικός Τίτλος'
         | 
| 35 | 
            -
                  @cc = ' | 
| 36 | 
            +
                  @cc = 'george.moschovitis@gmail.com'
         | 
| 36 37 | 
             
                  @body = 'Τί έγινε ρε παιδιά;'
         | 
| 37 38 | 
             
                end
         | 
| 38 39 | 
             
              end
         | 
| @@ -42,22 +43,22 @@ class TestCaseMail < Test::Unit::TestCase # :nodoc: all | |
| 42 43 |  | 
| 43 44 | 
             
                def register
         | 
| 44 45 | 
             
                  token = 999
         | 
| 45 | 
            -
                  deliver_registration('gmosx@ | 
| 46 | 
            +
                  deliver_registration('gmosx@nitroproject.org', 'gmosx', token)
         | 
| 46 47 | 
             
                end
         | 
| 47 48 | 
             
              end
         | 
| 48 49 | 
             
            =end
         | 
| 49 50 | 
             
              def test_mail
         | 
| 50 | 
            -
                m = Glue::Mail.new 'gmosx@ | 
| 51 | 
            -
                expected = %{From: gmosx@ | 
| 52 | 
            -
            To: drak@ | 
| 51 | 
            +
                m = Glue::Mail.new 'gmosx@nitroproject.org', 'drak@nitroproject.org', 'A simple test', 'This is the body of the message'
         | 
| 52 | 
            +
                expected = %{From: gmosx@nitroproject.org
         | 
| 53 | 
            +
            To: drak@nitroproject.org
         | 
| 53 54 | 
             
            Subject: A simple test
         | 
| 54 55 |  | 
| 55 56 | 
             
            This is the body of the message}
         | 
| 56 57 | 
             
                assert_equal expected, m.encoded
         | 
| 57 58 |  | 
| 58 | 
            -
                m.to = %w{ renos@ | 
| 59 | 
            -
                expected = %{From: gmosx@ | 
| 60 | 
            -
            To: renos@ | 
| 59 | 
            +
                m.to = %w{ renos@nitroproject.org stella@nitroproject.org }
         | 
| 60 | 
            +
                expected = %{From: gmosx@nitroproject.org
         | 
| 61 | 
            +
            To: renos@nitroproject.org, stella@nitroproject.org
         | 
| 61 62 | 
             
            Subject: A simple test
         | 
| 62 63 |  | 
| 63 64 | 
             
            This is the body of the message}
         | 
| @@ -68,19 +69,19 @@ This is the body of the message} | |
| 68 69 | 
             
              def test_mailer
         | 
| 69 70 | 
             
                assert_equal 0, DummyMailer.deliveries.size 
         | 
| 70 71 |  | 
| 71 | 
            -
                Mailer.server[:address] = 'mail. | 
| 72 | 
            -
            #   assert_equal 'mail. | 
| 72 | 
            +
                Mailer.server[:address] = 'mail.nitroproject.org'
         | 
| 73 | 
            +
            #   assert_equal 'mail.nitroproject.org', DummyMailer.server[:address]
         | 
| 73 74 |  | 
| 74 75 | 
             
                Mailer.delivery_method = :test
         | 
| 75 76 | 
             
                Mailer.template_root = File.join(File.dirname(__FILE__), '..', 'root', 'dummy_mailer')
         | 
| 76 77 | 
             
                token = 999
         | 
| 77 | 
            -
                DummyMailer.deliver_registration(' | 
| 78 | 
            +
                DummyMailer.deliver_registration('george.moschovitis@gmail.com', 'gmosx', token)
         | 
| 78 79 | 
             
                assert_equal 1, DummyMailer.deliveries.size 
         | 
| 79 80 |  | 
| 80 | 
            -
                expected = %{From: system@ | 
| 81 | 
            -
            To:  | 
| 82 | 
            -
            Cc:  | 
| 83 | 
            -
            Bcc:  | 
| 81 | 
            +
                expected = %{From: system@nitroproject.org
         | 
| 82 | 
            +
            To: george.moschovitis@gmail.com
         | 
| 83 | 
            +
            Cc: george.moschovitis@gmail.com
         | 
| 84 | 
            +
            Bcc: george.moschovitis@gmail.com
         | 
| 84 85 | 
             
            Subject: =?utf-8?Q?Nitro=2ecom_registration?=
         | 
| 85 86 |  | 
| 86 87 | 
             
            Hello gmosx
         | 
| @@ -91,7 +92,7 @@ Here is your <b>Token</b>: 999 | |
| 91 92 | 
             
            }
         | 
| 92 93 | 
             
                assert_equal expected, DummyMailer.deliveries[0].encoded
         | 
| 93 94 |  | 
| 94 | 
            -
                DummyMailer.deliver_greek(' | 
| 95 | 
            +
                DummyMailer.deliver_greek('george.moschovitis@gmail.com')
         | 
| 95 96 | 
             
                assert_equal 2, DummyMailer.deliveries.size 
         | 
| 96 97 | 
             
              end
         | 
| 97 98 | 
             
            =end
         |