wikitext 3.1 → 4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/ext/extconf.rb +3 -5
- data/ext/parser.c +5 -15
- data/ext/str.c +3 -1
- data/lib/wikitext/version.rb +1 -1
- data/spec/encoding_spec.rb +1 -2
- data/spec/external_link_spec.rb +1 -2
- data/spec/fulltext_spec.rb +1 -2
- data/spec/img_spec.rb +1 -2
- data/spec/integration_spec.rb +1 -2
- data/spec/internal_link_spec.rb +30 -35
- data/spec/link_encoding_spec.rb +1 -2
- data/spec/link_sanitizing_spec.rb +1 -2
- data/spec/nowiki_spec.rb +1 -2
- data/spec/pre_spec.rb +1 -2
- data/spec/regressions_spec.rb +1 -2
- data/spec/spec_helper.rb +23 -25
- data/spec/tt_spec.rb +1 -2
- data/spec/ul_spec.rb +1 -2
- data/spec/version_spec.rb +1 -2
- data/spec/wikitext_spec.rb +1 -3
- metadata +98 -102
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 2fd1ae53b44a2354ca48f9d35a39469391285573
|
4
|
+
data.tar.gz: 46c2fbe593fce24f6d60c9911a47687b9c0475b1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 11d2fc71a0c9a92ec23612c6edc2187ec38f9886c1fc0bf1a1e6ef8a8df7019fee9825ab06866cb140a3f66233e2d58f2288cdba5a61618cd0bae2d54de5d7a0
|
7
|
+
data.tar.gz: ae8c79c38d2bc463e1c1e42114e139816295a371896f7e5e3c7df7299541c83c87910390acb1fec52225ac6c19a729cd0348d6754022ee1d05946e5e6a0ed431
|
data/ext/extconf.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright 2008-
|
1
|
+
# Copyright 2008-2013 Wincent Colaiuta. All rights reserved.
|
2
2
|
#
|
3
3
|
# Redistribution and use in source and binary forms, with or without
|
4
4
|
# modification, are permitted provided that the following conditions are met:
|
@@ -29,10 +29,8 @@ def missing item
|
|
29
29
|
end
|
30
30
|
|
31
31
|
case RUBY_VERSION
|
32
|
-
when /\
|
33
|
-
$CFLAGS += ' -
|
34
|
-
when /\A1\.9/
|
35
|
-
$CFLAGS += ' -DRUBY_1_9_x'
|
32
|
+
when /\A2\.0/
|
33
|
+
$CFLAGS += ' -DRUBY_2_0_x'
|
36
34
|
else
|
37
35
|
raise "unsupported Ruby version: #{RUBY_VERSION}"
|
38
36
|
end
|
data/ext/parser.c
CHANGED
@@ -476,7 +476,7 @@ void wiki_append_hyperlink(parser_t *parser, VALUE link_prefix, str_t *link_targ
|
|
476
476
|
}
|
477
477
|
}
|
478
478
|
|
479
|
-
void wiki_append_img(parser_t *parser, char *token_ptr,
|
479
|
+
void wiki_append_img(parser_t *parser, char *token_ptr, long token_len)
|
480
480
|
{
|
481
481
|
str_append(parser->output, img_start, sizeof(img_start) - 1); // <img src="
|
482
482
|
if (!NIL_P(parser->img_prefix) && *token_ptr != '/') // len always > 0
|
@@ -1483,7 +1483,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
|
|
1483
1483
|
j = parser->scope->count;
|
1484
1484
|
for (j = j - 1; j >= 0; j--)
|
1485
1485
|
{
|
1486
|
-
int val = ary_entry(parser->scope, j);
|
1486
|
+
int val = ary_entry(parser->scope, (int)j);
|
1487
1487
|
if (val == STRONG || val == STRONG_START)
|
1488
1488
|
{
|
1489
1489
|
str_append(output, strong_end, sizeof(strong_end) - 1);
|
@@ -1776,8 +1776,8 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
|
|
1776
1776
|
// want to compare line with scope but can only do so if scope has enough items on it
|
1777
1777
|
if (j >= i)
|
1778
1778
|
{
|
1779
|
-
if (ary_entry(parser->scope, i + bq_count - 2) == type &&
|
1780
|
-
ary_entry(parser->scope, i + bq_count - 1) == LI)
|
1779
|
+
if (ary_entry(parser->scope, (int)(i + bq_count - 2)) == type &&
|
1780
|
+
ary_entry(parser->scope, (int)(i + bq_count - 1)) == LI)
|
1781
1781
|
{
|
1782
1782
|
// line and scope match at this point: do nothing yet
|
1783
1783
|
}
|
@@ -2345,7 +2345,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
|
|
2345
2345
|
{
|
2346
2346
|
// peek ahead to see next token
|
2347
2347
|
char *token_ptr = token->start;
|
2348
|
-
|
2348
|
+
long token_len = TOKEN_LEN(token);
|
2349
2349
|
NEXT_TOKEN();
|
2350
2350
|
type = token->type;
|
2351
2351
|
if ((type == H6_END && IN(H6_START)) ||
|
@@ -2585,21 +2585,11 @@ return_output:
|
|
2585
2585
|
str_append(parser->output, null_str, 1); // null-terminate
|
2586
2586
|
len = parser->output->len - 1; // don't count null termination
|
2587
2587
|
|
2588
|
-
#if defined(RUBY_1_9_x)
|
2589
2588
|
VALUE out = rb_str_buf_new(RSTRING_EMBED_LEN_MAX + 1);
|
2590
2589
|
free(RSTRING_PTR(out));
|
2591
2590
|
RSTRING(out)->as.heap.aux.capa = len;
|
2592
2591
|
RSTRING(out)->as.heap.ptr = parser->output->ptr;
|
2593
2592
|
RSTRING(out)->as.heap.len = len;
|
2594
|
-
#elif defined(RUBY_1_8_x)
|
2595
|
-
VALUE out = rb_str_new2("");
|
2596
|
-
free(RSTRING_PTR(out));
|
2597
|
-
RSTRING(out)->len = len;
|
2598
|
-
RSTRING(out)->aux.capa = len;
|
2599
|
-
RSTRING(out)->ptr = parser->output->ptr;
|
2600
|
-
#else
|
2601
|
-
#error unsupported RUBY_VERSION
|
2602
|
-
#endif
|
2603
2593
|
parser->output->ptr = NULL; // don't double-free
|
2604
2594
|
return out;
|
2605
2595
|
}
|
data/ext/str.c
CHANGED
@@ -54,7 +54,9 @@ str_t *str_new_from_string(VALUE string)
|
|
54
54
|
|
55
55
|
VALUE string_from_str(str_t *str)
|
56
56
|
{
|
57
|
-
|
57
|
+
VALUE string = rb_str_new(str->ptr, str->len);
|
58
|
+
rb_funcall(string, rb_intern("force_encoding"), 1, rb_str_new2("UTF-8"));
|
59
|
+
return string;
|
58
60
|
}
|
59
61
|
|
60
62
|
void str_grow(str_t *str, long len)
|
data/lib/wikitext/version.rb
CHANGED
data/spec/encoding_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright 2007-
|
1
|
+
# Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
|
2
2
|
#
|
3
3
|
# Redistribution and use in source and binary forms, with or without
|
4
4
|
# modification, are permitted provided that the following conditions are met:
|
@@ -22,7 +22,6 @@
|
|
22
22
|
# POSSIBILITY OF SUCH DAMAGE.
|
23
23
|
|
24
24
|
require 'spec_helper'
|
25
|
-
require 'iconv'
|
26
25
|
|
27
26
|
describe Wikitext, 'with invalidly encoded input' do
|
28
27
|
before do
|
data/spec/external_link_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
#
|
2
|
-
# Copyright 2007-2012 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
5
4
|
# modification, are permitted provided that the following conditions are met:
|
data/spec/fulltext_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
#
|
2
|
-
# Copyright 2008-2010 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2008-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
5
4
|
# modification, are permitted provided that the following conditions are met:
|
data/spec/img_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
#
|
2
|
-
# Copyright 2008-2010 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2008-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
5
4
|
# modification, are permitted provided that the following conditions are met:
|
data/spec/integration_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
#
|
2
|
-
# Copyright 2007-2010 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
5
4
|
# modification, are permitted provided that the following conditions are met:
|
data/spec/internal_link_spec.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
# Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
@@ -166,16 +165,14 @@ describe Wikitext::Parser, 'internal links (space to underscore off)' do
|
|
166
165
|
lambda { @parser.parse('[[foo]]', :link_proc => lambda { |target| raise 'bar' }) }.should raise_error(RuntimeError, /bar/)
|
167
166
|
end
|
168
167
|
|
169
|
-
it '
|
170
|
-
|
171
|
-
|
172
|
-
}.should raise_error(TypeError, /can't convert/)
|
168
|
+
it 'complains if the link proc returns a non-stringy object (Proc object version)' do
|
169
|
+
expect { @parser.parse '[[foo]]', link_proc: proc { 1 } }.
|
170
|
+
to raise_error(TypeError)
|
173
171
|
end
|
174
172
|
|
175
|
-
it '
|
176
|
-
lambda {
|
177
|
-
|
178
|
-
}.should raise_error(TypeError, /can't convert/)
|
173
|
+
it 'complains if the link proc returns a non-stringy object (lambda version)' do
|
174
|
+
expect { @parser.parse '[[foo]]', link_proc: lambda { |target| 1 } }.
|
175
|
+
to raise_error(TypeError)
|
179
176
|
end
|
180
177
|
|
181
178
|
# a couple of Ruby's idiosynchrasies: different behaviour of lambdas and Procs
|
@@ -191,16 +188,16 @@ describe Wikitext::Parser, 'internal links (space to underscore off)' do
|
|
191
188
|
}.should raise_error(ArgumentError, /wrong number/)
|
192
189
|
end
|
193
190
|
|
194
|
-
it '
|
195
|
-
|
196
|
-
@parser.parse '[[foo]]', :
|
197
|
-
}.
|
191
|
+
it 'complains when "return" is used inside a "Proc.new" block' do
|
192
|
+
expect {
|
193
|
+
@parser.parse '[[foo]]', link_proc: proc { return 'bar' }
|
194
|
+
}.to raise_error(LocalJumpError)
|
198
195
|
end
|
199
196
|
|
200
197
|
it 'should not complain when "return" is used inside a lambda' do
|
201
|
-
|
202
|
-
@parser.parse '[[foo]]', :
|
203
|
-
}.
|
198
|
+
expect {
|
199
|
+
@parser.parse '[[foo]]', link_proc: lambda { return 'bar' }
|
200
|
+
}.to_not raise_error(LocalJumpError)
|
204
201
|
end
|
205
202
|
|
206
203
|
it 'should interact correctly with spaces in link targets (Proc object version)' do
|
@@ -227,10 +224,10 @@ describe Wikitext::Parser, 'internal links (space to underscore off)' do
|
|
227
224
|
@parser.parse('[[foo a|hello]] [[bar b|world]]', :link_proc => link_proc).should == expected
|
228
225
|
end
|
229
226
|
|
230
|
-
it '
|
231
|
-
link_proc =
|
227
|
+
it 'handles link targets with encoded parts (Proc object version)' do
|
228
|
+
link_proc = proc { |target| target == 'información' ? 'redlink' : nil }
|
232
229
|
expected = %Q{<p><a href="/wiki/informaci%c3%b3n" class="redlink">información</a> <a href="/wiki/bar">bar</a></p>\n}
|
233
|
-
@parser.parse('[[información]] [[bar]]', :
|
230
|
+
@parser.parse('[[información]] [[bar]]', link_proc: link_proc).should == expected
|
234
231
|
end
|
235
232
|
|
236
233
|
it 'should handle link targets with encoded parts (lambda version)' do
|
@@ -706,41 +703,39 @@ describe Wikitext::Parser, 'internal links (space to underscore on)' do
|
|
706
703
|
lambda { @parser.parse('[[foo]]', :link_proc => lambda { |target| raise 'bar' }) }.should raise_error(RuntimeError, /bar/)
|
707
704
|
end
|
708
705
|
|
709
|
-
it '
|
710
|
-
|
711
|
-
|
712
|
-
}.should raise_error(TypeError, /can't convert/)
|
706
|
+
it 'complains if the link proc returns a non-stringy object (Proc object version)' do
|
707
|
+
expect { @parser.parse '[[foo]]', link_proc: proc { 1 } }.
|
708
|
+
to raise_error(TypeError)
|
713
709
|
end
|
714
710
|
|
715
|
-
it '
|
716
|
-
lambda {
|
717
|
-
|
718
|
-
}.should raise_error(TypeError, /can't convert/)
|
711
|
+
it 'complains if the link proc returns a non-stringy object (lambda version)' do
|
712
|
+
expect { @parser.parse '[[foo]]', link_proc: lambda { |target| 1 } }.
|
713
|
+
to raise_error(TypeError)
|
719
714
|
end
|
720
715
|
|
721
716
|
# a couple of Ruby's idiosynchrasies: different behaviour of lambdas and Procs
|
722
717
|
it 'should not complain if the Proc object accepts too many arguments' do
|
723
718
|
lambda {
|
724
|
-
@parser.parse '[[foo]]', :link_proc => Proc.new { |a,b| }
|
719
|
+
@parser.parse '[[foo]]', :link_proc => Proc.new { |a, b| }
|
725
720
|
}.should_not raise_error(ArgumentError, /wrong number/)
|
726
721
|
end
|
727
722
|
|
728
723
|
it 'should complain if the lambda accepts too many arguments' do
|
729
724
|
lambda {
|
730
|
-
@parser.parse '[[foo]]', :link_proc => lambda { |a,b| }
|
725
|
+
@parser.parse '[[foo]]', :link_proc => lambda { |a, b| }
|
731
726
|
}.should raise_error(ArgumentError, /wrong number/)
|
732
727
|
end
|
733
728
|
|
734
729
|
it 'should complain when "return" is used inside a "Proc.new" block' do
|
735
|
-
|
730
|
+
expect {
|
736
731
|
@parser.parse '[[foo]]', :link_proc => Proc.new { return 'bar' }
|
737
|
-
}.
|
732
|
+
}.to raise_error(LocalJumpError)
|
738
733
|
end
|
739
734
|
|
740
735
|
it 'should not complain when "return" is used inside a lambda' do
|
741
|
-
|
736
|
+
expect {
|
742
737
|
@parser.parse '[[foo]]', :link_proc => lambda { return 'bar' }
|
743
|
-
}.
|
738
|
+
}.to_not raise_error(LocalJumpError)
|
744
739
|
end
|
745
740
|
|
746
741
|
it 'should interact correctly with spaces in link targets (Proc object version)' do
|
@@ -773,10 +768,10 @@ describe Wikitext::Parser, 'internal links (space to underscore on)' do
|
|
773
768
|
@parser.parse('[[información]] [[bar]]', :link_proc => link_proc).should == expected
|
774
769
|
end
|
775
770
|
|
776
|
-
it '
|
771
|
+
it 'handles link targets with encoded parts (lambda version)' do
|
777
772
|
link_proc = lambda { |target| target == 'información' ? 'redlink' : nil }
|
778
773
|
expected = %Q{<p><a href="/wiki/informaci%c3%b3n" class="redlink">información</a> <a href="/wiki/bar">bar</a></p>\n}
|
779
|
-
@parser.parse('[[información]] [[bar]]', :
|
774
|
+
@parser.parse('[[información]] [[bar]]', link_proc: link_proc).should == expected
|
780
775
|
end
|
781
776
|
end
|
782
777
|
|
data/spec/link_encoding_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
#
|
2
|
-
# Copyright 2007-2010 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
5
4
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,5 +1,4 @@
|
|
1
|
-
#
|
2
|
-
# Copyright 2007-2010 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
5
4
|
# modification, are permitted provided that the following conditions are met:
|
data/spec/nowiki_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
#
|
2
|
-
# Copyright 2007-2010 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
5
4
|
# modification, are permitted provided that the following conditions are met:
|
data/spec/pre_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
#
|
2
|
-
# Copyright 2007-2010 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
5
4
|
# modification, are permitted provided that the following conditions are met:
|
data/spec/regressions_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
#
|
2
|
-
# Copyright 2008-2011 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2008-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
5
4
|
# modification, are permitted provided that the following conditions are met:
|
data/spec/spec_helper.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright 2007-
|
1
|
+
# Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
|
2
2
|
#
|
3
3
|
# Redistribution and use in source and binary forms, with or without
|
4
4
|
# modification, are permitted provided that the following conditions are met:
|
@@ -26,9 +26,9 @@ require 'rspec'
|
|
26
26
|
|
27
27
|
# allow indenting of multiline spec data for better readability
|
28
28
|
# but must dedent it before actually doing the comparison
|
29
|
-
def dedent
|
29
|
+
def dedent(spaces, string = nil)
|
30
30
|
if spaces.kind_of? String
|
31
|
-
if
|
31
|
+
if !string.nil?
|
32
32
|
raise 'When first argument is a String, second argument must be nil'
|
33
33
|
else
|
34
34
|
# default use: single String parameter, dedent by 6
|
@@ -36,14 +36,14 @@ def dedent spaces, string = nil
|
|
36
36
|
spaces = 6
|
37
37
|
end
|
38
38
|
elsif spaces.kind_of? Integer
|
39
|
-
if string.nil?
|
39
|
+
if string.nil? || !string.kind_of?(String)
|
40
40
|
raise 'When first argument is a number, second must be a String'
|
41
41
|
end
|
42
42
|
else
|
43
43
|
raise 'Invalid argument'
|
44
44
|
end
|
45
45
|
string.each_line do |line|
|
46
|
-
if
|
46
|
+
if line !~ /\A {#{spaces.to_i}}/
|
47
47
|
raise "Underlength indent for line: #{line.inspect}"
|
48
48
|
end
|
49
49
|
end
|
@@ -51,32 +51,30 @@ def dedent spaces, string = nil
|
|
51
51
|
end
|
52
52
|
|
53
53
|
# prepend local directories to search path if not already present
|
54
|
-
basedir = Pathname.new(
|
54
|
+
basedir = Pathname.new(__dir__) + '..'
|
55
55
|
extdir = (basedir + 'ext').realpath
|
56
56
|
libdir = (basedir + 'lib').realpath
|
57
57
|
normalized = $:.map { |path| Pathname.new(path).realpath rescue path }
|
58
58
|
[libdir, extdir].each { |d| $:.unshift(d) unless normalized.include?(d) }
|
59
59
|
|
60
60
|
module UTF8
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
end # module Invalid
|
79
|
-
end
|
61
|
+
module Invalid
|
62
|
+
TWO_BYTES_MISSING_SECOND_BYTE = [0b11011111].pack('C*')
|
63
|
+
TWO_BYTES_MALFORMED_SECOND_BYTE = [0b11011111, 0b00001111].pack('C*') # should be 10......
|
64
|
+
OVERLONG = [0b11000000, 0b10000000].pack('C*') # lead byte is 110..... but code point is <= 127
|
65
|
+
OVERLONG_ALT = [0b11000001, 0b10000000].pack('C*') # lead byte is 110..... but code point is <= 127
|
66
|
+
THREE_BYTES_MISSING_SECOND_BYTE = [0b11100000].pack('C*')
|
67
|
+
THREE_BYTES_MISSING_THIRD_BYTE = [0b11100000, 0b10000000].pack('C*')
|
68
|
+
THREE_BYTES_MALFORMED_SECOND_BYTE = [0b11100000, 0b00001111, 0b10000000].pack('C*') # should be 10......
|
69
|
+
THREE_BYTES_MALFORMED_THIRD_BYTE = [0b11100000, 0b10000000, 0b00001111].pack('C*') # should be 10......
|
70
|
+
FOUR_BYTES_MISSING_SECOND_BYTE = [0b11110000].pack('C*')
|
71
|
+
FOUR_BYTES_MISSING_THIRD_BYTE = [0b11110000, 0x10111111].pack('C*')
|
72
|
+
FOUR_BYTES_MISSING_FOURTH_BYTE = [0b11110000, 0x10111111, 0x10111111].pack('C*')
|
73
|
+
FOUR_BYTES_ILLEGAL_FIRST_BYTE = [0b11110101, 0x10111111, 0x10111111, 0x10111111].pack('C*')
|
74
|
+
FOUR_BYTES_ILLEGAL_FIRST_BYTE_ALT = [0b11110101, 0x10111111, 0x10111111, 0x10111111].pack('C*')
|
75
|
+
FOUR_BYTES_ILLEGAL_FIRST_BYTE_ALT2 = [0b11110101, 0x10111111, 0x10111111, 0x10111111].pack('C*')
|
76
|
+
UNEXPECTED_BYTE = [0b11111000].pack('C*')
|
77
|
+
end # module Invalid
|
80
78
|
end # module UTF8
|
81
79
|
|
82
80
|
require 'wikitext'
|
data/spec/tt_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
|
2
|
-
# Copyright 2007-2009 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
5
4
|
# modification, are permitted provided that the following conditions are met:
|
data/spec/ul_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
|
2
|
-
# Copyright 2007-2009 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
5
4
|
# modification, are permitted provided that the following conditions are met:
|
data/spec/version_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
|
2
|
-
# Copyright 2009-2011 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2009-2013 Wincent Colaiuta. All rights reserved.
|
3
2
|
#
|
4
3
|
# Redistribution and use in source and binary forms, with or without
|
5
4
|
# modification, are permitted provided that the following conditions are met:
|
data/spec/wikitext_spec.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
# encoding: utf-8
|
3
|
-
# Copyright 2007-2009 Wincent Colaiuta. All rights reserved.
|
1
|
+
# Copyright 2007-2013 Wincent Colaiuta. All rights reserved.
|
4
2
|
#
|
5
3
|
# Redistribution and use in source and binary forms, with or without
|
6
4
|
# modification, are permitted provided that the following conditions are met:
|
metadata
CHANGED
@@ -1,105 +1,108 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: wikitext
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 3
|
7
|
-
- 1
|
8
|
-
version: "3.1"
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '4.0'
|
9
5
|
platform: ruby
|
10
|
-
authors:
|
6
|
+
authors:
|
11
7
|
- Wincent Colaiuta
|
12
8
|
autorequire:
|
13
9
|
bindir: bin
|
14
10
|
cert_chain: []
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
dependencies:
|
19
|
-
- !ruby/object:Gem::Dependency
|
20
|
-
type: :development
|
21
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
22
|
-
requirements:
|
23
|
-
- - ">="
|
24
|
-
- !ruby/object:Gem::Version
|
25
|
-
segments:
|
26
|
-
- 0
|
27
|
-
version: "0"
|
11
|
+
date: 2013-02-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
28
14
|
name: rake
|
29
|
-
requirement:
|
30
|
-
|
31
|
-
-
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
32
20
|
type: :development
|
33
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
34
|
-
requirements:
|
35
|
-
- - ">="
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
segments:
|
38
|
-
- 2
|
39
|
-
- 0
|
40
|
-
version: "2.0"
|
41
|
-
name: rspec
|
42
|
-
requirement: *id002
|
43
21
|
prerelease: false
|
44
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
45
34
|
type: :development
|
46
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
47
|
-
requirements:
|
48
|
-
- - ">="
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
segments:
|
51
|
-
- 0
|
52
|
-
version: "0"
|
53
|
-
name: thor
|
54
|
-
requirement: *id003
|
55
35
|
prerelease: false
|
56
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: thor
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
57
48
|
type: :development
|
58
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
60
|
-
- - ">="
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
segments:
|
63
|
-
- 0
|
64
|
-
- 5
|
65
|
-
- 8
|
66
|
-
version: 0.5.8
|
67
|
-
name: yard
|
68
|
-
requirement: *id004
|
69
49
|
prerelease: false
|
70
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: yard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
71
62
|
type: :development
|
72
|
-
version_requirements: &id005 !ruby/object:Gem::Requirement
|
73
|
-
requirements:
|
74
|
-
- - ">="
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
segments:
|
77
|
-
- 0
|
78
|
-
version: "0"
|
79
|
-
name: wopen3
|
80
|
-
requirement: *id005
|
81
63
|
prerelease: false
|
82
|
-
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: wopen3
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
83
76
|
type: :development
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
91
84
|
name: ZenTest
|
92
|
-
requirement:
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
93
91
|
prerelease: false
|
94
|
-
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
description: |2
|
98
|
+
Wikitext is a fast wikitext-to-HTML translator written in C.
|
95
99
|
email: win@wincent.com
|
96
|
-
executables:
|
100
|
+
executables:
|
97
101
|
- wikitext
|
98
|
-
extensions:
|
102
|
+
extensions:
|
99
103
|
- ext/extconf.rb
|
100
104
|
extra_rdoc_files: []
|
101
|
-
|
102
|
-
files:
|
105
|
+
files:
|
103
106
|
- bin/wikitext
|
104
107
|
- ext/extconf.rb
|
105
108
|
- ext/ary.c
|
@@ -160,36 +163,29 @@ files:
|
|
160
163
|
- spec/version_spec.rb
|
161
164
|
- spec/vim_formatter.rb
|
162
165
|
- spec/wikitext_spec.rb
|
163
|
-
has_rdoc: true
|
164
166
|
homepage: https://wincent.com/products/wikitext
|
165
167
|
licenses: []
|
166
|
-
|
168
|
+
metadata: {}
|
167
169
|
post_install_message:
|
168
170
|
rdoc_options: []
|
169
|
-
|
170
|
-
require_paths:
|
171
|
+
require_paths:
|
171
172
|
- ext
|
172
173
|
- lib
|
173
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
174
|
-
requirements:
|
175
|
-
- -
|
176
|
-
- !ruby/object:Gem::Version
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
segments:
|
185
|
-
- 0
|
186
|
-
version: "0"
|
174
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - '>='
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: 2.0.0
|
179
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
181
|
+
- - '>='
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '0'
|
187
184
|
requirements: []
|
188
|
-
|
189
185
|
rubyforge_project: wikitext
|
190
|
-
rubygems_version:
|
186
|
+
rubygems_version: 2.0.0
|
191
187
|
signing_key:
|
192
|
-
specification_version:
|
188
|
+
specification_version: 4
|
193
189
|
summary: Wikitext-to-HTML translator
|
194
190
|
test_files: []
|
195
|
-
|
191
|
+
has_rdoc:
|