]> git.wincent.com - wikitext.git/commitdiff
Add public method for testing special link encoding
authorWincent Colaiuta <win@wincent.com>
Sun, 10 Feb 2008 17:14:23 +0000 (18:14 +0100)
committerWincent Colaiuta <win@wincent.com>
Sun, 10 Feb 2008 17:14:23 +0000 (18:14 +0100)
Signed-off-by: Wincent Colaiuta <win@wincent.com>
ext/parser.c
ext/parser.h
ext/wikitext.c

index d4eeb741888432676f375331cf749160a3c75dba..fe18c2569aae75c61ff5fd843947dc181f1a8c6a 100644 (file)
@@ -722,7 +722,18 @@ inline static void _Wikitext_parser_encode_link_target(parser_t *parser)
 VALUE Wikitext_parser_encode_link_target(VALUE self, VALUE in)
 {
     parser_t parser;
-    parser.link_target = in;
+    parser.link_target              = in;
+    parser.treat_slash_as_special   = Qfalse;
+    _Wikitext_parser_encode_link_target(&parser);
+    return parser.link_target;
+}
+
+// this method exposed for testing only
+VALUE Wikitext_parser_encode_special_link_target(VALUE self, VALUE in)
+{
+    parser_t parser;
+    parser.link_target              = in;
+    parser.treat_slash_as_special   = Qtrue;
     _Wikitext_parser_encode_link_target(&parser);
     return parser.link_target;
 }
index b42c9edbe09fc0f98611a51f7f9cc422c5b0dbda..0f3d9a2fe7b272c7bf31d806881a86255ac113d8 100644 (file)
@@ -24,6 +24,8 @@ VALUE Wikitext_parser_sanitize_link_target(VALUE self, VALUE string);
 
 VALUE Wikitext_parser_encode_link_target(VALUE self, VALUE in);
 
+VALUE Wikitext_parser_encode_special_link_target(VALUE self, VALUE in);
+
 VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self);
 
 VALUE Wikitext_parser_profiling_parse(VALUE self, VALUE string);
index faf3eb71079aeb3d7209277c5850a79e9aac6453..2b4d73f69873e7b2f5850bc005c4a487c21f53f0 100644 (file)
@@ -46,6 +46,7 @@ void Init_wikitext()
     // and used as follows (combined with the output of sanitize_link_target):
     //      <a href="foo%2c%20%22bar%22%20%26%20baz%e2%82%ac">foo, &quot;bar&quot; &amp; baz &#x20ac;</a>
     rb_define_singleton_method(cWikitextParser, "encode_link_target", Wikitext_parser_encode_link_target, 1);
+    rb_define_singleton_method(cWikitextParser, "encode_special_link_target", Wikitext_parser_encode_special_link_target, 1);
 
     // override default line_ending
     // defaults to "\n"