idn 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,13 @@
1
+ Changes with IDN 0.0.2 (2006-02-11)
2
+
3
+ * Remove excessive xfree() if a call to stringprep_profile() returns an
4
+ error. Fixes crash reported in PR #3088.
5
+
6
+ * Add tests for invalid Stringprep strings and adjust names of already
7
+ existing test methods.
8
+
9
+ * Improve existing tests for IDN::Idna.
10
+
1
11
  Changes with IDN 0.0.1 (2005-09-26)
2
12
 
3
13
  * First release.
data/README CHANGED
@@ -1,6 +1,6 @@
1
1
  == LibIDN Ruby Bindings
2
2
 
3
- Version 0.0.1
3
+ Version 0.0.2
4
4
 
5
5
  Ruby Bindings for the GNU LibIDN library, an implementation of the
6
6
  Stringprep, Punycode and IDNA specifications defined by the IETF
@@ -168,7 +168,7 @@ mailing list.
168
168
 
169
169
  === Copyright & License
170
170
 
171
- Copyright (c) 2005 Erik Abele. All rights reserved.
171
+ Copyright (c) 2005-2006 Erik Abele. All rights reserved.
172
172
 
173
173
  This documentation and the software itself are licensed under the Apache
174
174
  License, Version 2.0 (the "License").
data/Rakefile CHANGED
@@ -32,7 +32,7 @@ rescue Exception
32
32
  end
33
33
 
34
34
  PKG_NAME = 'idn'
35
- PKG_VERSION = '0.0.1'
35
+ PKG_VERSION = '0.0.2'
36
36
 
37
37
  PKG_AUTHOR = 'Erik Abele'
38
38
  PKG_EMAIL = 'erikabele@rubyforge.org'
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2005 Erik Abele. All rights reserved.
2
+ * Copyright (c) 2005-2006 Erik Abele. All rights reserved.
3
3
  * Portions Copyright (c) 2005 Yuki Mitsui. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -67,7 +67,6 @@ static VALUE stringprep_internal(VALUE str, const char *profile)
67
67
  rc = stringprep_profile(RSTRING(str)->ptr, &buf, profile, 0);
68
68
 
69
69
  if (rc != STRINGPREP_OK) {
70
- xfree(buf);
71
70
  rb_raise(eStringprepError, "%s (%d)", stringprep_strerror(rc), rc);
72
71
  return Qnil;
73
72
  }
@@ -1,6 +1,6 @@
1
1
  # Unit tests for IDN::Idna.
2
2
  #
3
- # Copyright (c) 2005 Erik Abele. All rights reserved.
3
+ # Copyright (c) 2005-2006 Erik Abele. All rights reserved.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -208,9 +208,8 @@ class Test_Idna < Test::Unit::TestCase
208
208
 
209
209
  def test_toASCII_UNASSIGNED_ALLOWED
210
210
  TESTCASES_UNASSIGNED.each do |key, val|
211
- assert_nothing_raised("TestCase #{key} failed") do
212
- Idna.toASCII(val[0], IDN::Idna::ALLOW_UNASSIGNED)
213
- end
211
+ rc = Idna.toASCII(val[0], IDN::Idna::ALLOW_UNASSIGNED)
212
+ assert_equal(val[1], rc, "TestCase #{key} failed")
214
213
  end
215
214
  end
216
215
 
@@ -232,9 +231,8 @@ class Test_Idna < Test::Unit::TestCase
232
231
 
233
232
  def test_toASCII_STD3_NOT_USED
234
233
  TESTCASES_STD3.each do |key, val|
235
- assert_nothing_raised("TestCase #{key} failed") do
236
- Idna.toASCII(val[0])
237
- end
234
+ rc = Idna.toASCII(val[0])
235
+ assert_equal(val[1], rc, "TestCase #{key} failed")
238
236
  end
239
237
  end
240
238
 
@@ -1,6 +1,6 @@
1
1
  # Unit tests for IDN::Stringprep.
2
2
  #
3
- # Copyright (c) 2005 Erik Abele. All rights reserved.
3
+ # Copyright (c) 2005-2006 Erik Abele. All rights reserved.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -36,6 +36,13 @@ class Test_Stringprep < Test::Unit::TestCase
36
36
  'E' => [ "SASLprep", "Example\xC2\xA0Name", "Example Name" ]
37
37
  }
38
38
 
39
+ # STRINGPREP_INVALID test vectors: invalid input strings and their
40
+ # corresponding profile.
41
+
42
+ TESTCASES_STRINGPREP_INVALID = {
43
+ 'A' => [ "Nodeprep", "toto@a/a" ]
44
+ }
45
+
39
46
  # NFKC test vectors: UTF-8 encoded strings and the corresponding
40
47
  # normalized form, according to NFKC normalization mode.
41
48
 
@@ -50,14 +57,22 @@ class Test_Stringprep < Test::Unit::TestCase
50
57
  def teardown
51
58
  end
52
59
 
53
- def test_with_profile
60
+ def test_with_profile_STRINGPREP
54
61
  TESTCASES_STRINGPREP.each do |key, val|
55
62
  rc = Stringprep.with_profile(val[1], val[0])
56
63
  assert_equal(val[2], rc, "TestCase #{key} failed")
57
64
  end
58
65
  end
59
66
 
60
- def test_nfkc_normalize
67
+ def test_with_profile_STRINGPREP_INVALID
68
+ TESTCASES_STRINGPREP_INVALID.each do |key, val|
69
+ assert_raise(Stringprep::StringprepError, "TestCase #{key} failed") do
70
+ Stringprep.with_profile(val[0], val[1])
71
+ end
72
+ end
73
+ end
74
+
75
+ def test_nfkc_normalize_NFKC
61
76
  TESTCASES_NFKC.each do |key, val|
62
77
  rc = Stringprep.nfkc_normalize(val[0])
63
78
  assert_equal(val[1], rc, "TestCase #{key} failed")
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: idn
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.1
7
- date: 2005-09-26 00:00:00 +02:00
6
+ version: 0.0.2
7
+ date: 2006-02-13 00:00:00 +01:00
8
8
  summary: LibIDN Ruby Bindings
9
9
  require_paths:
10
10
  - lib