From 3286cffaa3d976810d8798773365ca4f0cc73123 Mon Sep 17 00:00:00 2001 From: laserlemon Date: Mon, 11 Oct 2010 15:27:49 -0400 Subject: [PATCH] Add URL encoding tests. --- test/simple_oauth_test.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/test/simple_oauth_test.rb b/test/simple_oauth_test.rb index 351477c..6a4409d 100644 --- a/test/simple_oauth_test.rb +++ b/test/simple_oauth_test.rb @@ -50,4 +50,18 @@ class SimpleOAuthTest < Test::Unit::TestCase assert_equal attribute_options.size, attributes.size assert attributes.all?{|k,v| k.to_s == "oauth_#{v.downcase}" } end + + def test_encode + # Non-word characters should be URL encoded... + [' ', '!', '@', '$', '%', '^', '&'].each do |character| + encoded = SimpleOAuth::Header.encode(character) + assert_not_equal character, encoded + assert_equal URI.encode(character, /.*/), encoded + end + + # ...except for the "-", "." and "~" characters. + ['-', '.', '~'].each do |character| + assert_equal character, SimpleOAuth::Header.encode(character) + end + end end