require "./test/tests_helper" require "nele" @custom_translators.call() describe "StringExt" do it("has /translators/ method which returns providers") do String.translators.must_equal [ 'ms', 'babelfish', 'foo', 'bar' ] end it("responses to translate method") do "hello".respond_to?(:translate).must_equal true end it("raises TranslatorInvalidError") do lambda { String.translator = "blah" }.must_raise(Nele::TranslatorInvalidError) end it("raises TranslatorMissingError") do String.translator = nil lambda { "hello".translate }.must_raise(Nele::TranslatorMissingError) end it("raises EmptyStringError") do lambda { "".translate }.must_raise(Nele::EmptyStringError) end it("initializes translator instance based on string") do String.translator = "bar" String.translator.class.must_equal Nele::BarTranslator end it("initializes translator instance based on symbol") do String.translator = :bar String.translator.class.must_equal Nele::BarTranslator end it("sets translator to nil") do String.translator = :bar String.translator = nil String.translator.class.must_equal NilClass end end