PageRenderTime 41ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/lib/rex/transformer.rb.ut.rb

https://bitbucket.org/technopunk2099/metasploit-framework
Ruby | 39 lines | 28 code | 9 blank | 2 comment | 0 complexity | 06d84f62c145f75a2d3a40f0dba29dc8 MD5 | raw file
Possible License(s): BSD-3-Clause, Apache-2.0, LGPL-2.1, GPL-2.0, MIT
  1. #!/usr/bin/env ruby
  2. # -*- coding: binary -*-
  3. $:.unshift(File.join(File.dirname(__FILE__), '..'))
  4. require 'test/unit'
  5. require 'rex/exceptions'
  6. require 'rex/transformer'
  7. class Rex::Transformer::UnitTest < Test::Unit::TestCase
  8. class Pizza
  9. def Pizza.from_s(str)
  10. end
  11. end
  12. class ArrayTester
  13. def self.from_a(a)
  14. a[0] + a[1]
  15. end
  16. end
  17. def test_transformer
  18. a = Rex::Transformer.transform([ 'yo', 'ho' ], Array, [ String ], 'Jones')
  19. assert_equal(2, a.length, "invalid array length")
  20. assert_equal('yo', a[0], "invalid first element")
  21. assert_equal('ho', a[1], "invalid second element")
  22. assert_raise(Rex::ArgumentError, "invalid transform") {
  23. Rex::Transformer.transform('dog', Array, [ Pizza ], 'bob')
  24. }
  25. end
  26. def test_from_a
  27. a = Rex::Transformer.transform([ [ 'one', 'two' ] ], Array, [ ArrayTester ], 'Jimmy')
  28. assert_equal('onetwo', a[0], "invalid from_a conversion")
  29. end
  30. end