aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/lib/i18n_interpolation.rb38
-rw-r--r--spec/models/foi_attachment_spec.rb13
-rw-r--r--spec/models/incoming_message_spec.rb7
3 files changed, 57 insertions, 1 deletions
diff --git a/spec/lib/i18n_interpolation.rb b/spec/lib/i18n_interpolation.rb
index 6b745059c..e8d046757 100644
--- a/spec/lib/i18n_interpolation.rb
+++ b/spec/lib/i18n_interpolation.rb
@@ -8,5 +8,43 @@ describe "when using i18n" do
result = _('Hello {{dip}}', :dip => 'hummus')
result.should == 'Hello hummus'
end
+
+ it "should assume that simple translations are always html safe" do
+ _("Hello").should be_html_safe
+ end
+
end
+describe "gettext_interpolate" do
+ context "html unsafe string" do
+ let(:string) { "Hello {{a}}" }
+
+ it "should give an unsafe result" do
+ result = gettext_interpolate(string, :a => "foo")
+ result.should == "Hello foo"
+ result.should_not be_html_safe
+ end
+
+ it "should give an unsafe result" do
+ result = gettext_interpolate(string, :a => "foo".html_safe)
+ result.should == "Hello foo"
+ result.should_not be_html_safe
+ end
+ end
+
+ context "html safe string" do
+ let(:string) { "Hello {{a}}".html_safe }
+
+ it "should quote the input if it's unsafe" do
+ result = gettext_interpolate(string, :a => "foo&")
+ result.should == "Hello foo&"
+ result.should be_html_safe
+ end
+
+ it "should not quote the input if it's safe" do
+ result = gettext_interpolate(string, :a => "foo&".html_safe)
+ result.should == "Hello foo&"
+ result.should be_html_safe
+ end
+ end
+end
diff --git a/spec/models/foi_attachment_spec.rb b/spec/models/foi_attachment_spec.rb
index 9d44957e4..537a3363c 100644
--- a/spec/models/foi_attachment_spec.rb
+++ b/spec/models/foi_attachment_spec.rb
@@ -30,6 +30,17 @@ describe FoiAttachment, " when calculating due date" do
main.delete_cached_file!
main = im.get_main_body_text_part
main.body.should == orig_body
-
+
end
end
+
+describe FoiAttachment, "when ensuring a filename is present" do
+
+ it 'should create a filename for an instance with a blank filename' do
+ attachment = FoiAttachment.new
+ attachment.filename = ''
+ attachment.ensure_filename!
+ attachment.filename.should == 'attachment.bin'
+ end
+
+end
diff --git a/spec/models/incoming_message_spec.rb b/spec/models/incoming_message_spec.rb
index e327c2444..781212841 100644
--- a/spec/models/incoming_message_spec.rb
+++ b/spec/models/incoming_message_spec.rb
@@ -148,6 +148,13 @@ describe IncomingMessage, " folding quoted parts of emails" do
@incoming_message.remove_lotus_quoting(text).should match(/FOLDED_QUOTED_SECTION/)
end
+ it 'should not error when trying to fold lotus notes quoted parts on a request with no user_name' do
+ text = "hello"
+ @incoming_message = IncomingMessage.new()
+ @incoming_message.stub_chain(:info_request, :user_name).and_return(nil)
+ @incoming_message.remove_lotus_quoting(text).should == 'hello'
+ end
+
it "cope with [ in user names properly" do
@incoming_message = IncomingMessage.new()
@incoming_message.stub_chain(:info_request, :user_name).and_return("Sir [ Bobble")