Sha256: 9d144c0c6158f9ba5716a16bdd82f48104c3457ca9d56d444e30fa7866b05252

Contents?: true

Size: 1.13 KB

Versions: 14

Compression:

Stored size: 1.13 KB

Contents

require 'test_helper'

class SafeClassTest < Test::Unit::TestCase
  class SubString < String
  end

  context 'A safe model' do
    subject do
      Dummy
    end

    should 'have an associated SignatureHash for safe methods' do
      assert_kind_of RubyLess::SignatureHash, Dummy.safe_methods
    end
  end # A safe model

  context 'An instance of a safe model' do
    subject do
      Dummy.new
    end

    context 'on safe_eval' do
      should 'evaluate RubyLess' do
        assert_equal 'Biscotte', subject.safe_eval("dog_name")
      end

      should 'raise NoMethodError on missing method' do
        assert_raise(RubyLess::NoMethodError) { subject.safe_eval("bad_method('Bp Oil Spill')") }
      end
    end # on safe_eval

    context 'on safe_eval_string' do
      should 'evaluate RubyLess as dstring' do
        assert_equal 'my Biscotte', subject.safe_eval_string('my #{dog_name}')
      end

      should 'raise NoMethodError on missing method' do
        assert_raise(RubyLess::NoMethodError) { subject.safe_eval_string("their \#{bad_method('Bp Oil Spill')}") }
      end
    end # on safe_eval

  end # An instance of a safe model
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
rubyless-0.8.11 test/safe_class_test.rb
rubyless-0.8.10 test/safe_class_test.rb
rubyless-0.8.9 test/safe_class_test.rb
rubyless-0.8.8 test/safe_class_test.rb
rubyless-0.8.7 test/safe_class_test.rb
rubyless-0.8.6 test/safe_class_test.rb
rubyless-0.8.5 test/safe_class_test.rb
rubyless-0.8.4 test/safe_class_test.rb
rubyless-0.8.3 test/safe_class_test.rb
rubyless-0.8.2 test/safe_class_test.rb
rubyless-0.8.1 test/safe_class_test.rb
rubyless-0.8.0 test/safe_class_test.rb
rubyless-0.7.0 test/safe_class_test.rb
rubyless-0.6.0 test/safe_class_test.rb