rbibtex 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +18 -0
- data/README +5 -3
- data/bin/rbib2bib +101 -131
- data/bin/rbib2html +68 -15
- data/bin/rbib2txt +101 -31
- data/lib/rbibtex/pre-setup.rb +1 -1
- data/lib/rbibtex/rbibtex.y +58 -54
- data/lib/rbibtex/string.rb +64 -0
- data/lib/rbibtex/transform.rb +75 -0
- data/lib/rbibtex/types.rb +344 -0
- data/lib/rbibtex.rb +7 -0
- data/papers.bib +218 -165
- data/papers.html +116 -118
- data/papers.new.bib +257 -0
- data/test/test.bib +0 -0
- data/test/test_bib.rb +22 -0
- data/test/test_string.rb +88 -0
- metadata +13 -4
- data/test.bib +0 -5
data/test/test_string.rb
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
$:.unshift "../lib"
|
4
|
+
|
5
|
+
require "test/unit"
|
6
|
+
require "rbibtex/string"
|
7
|
+
|
8
|
+
class StringTest < Test::Unit::TestCase
|
9
|
+
def test_unwrap
|
10
|
+
assert_equal("this is a paragraph\n\nand this is another", "this is\na paragraph\n\nand this is another".unwrap)
|
11
|
+
assert_equal("a b", "\n\na\nb\n\n".unwrap)
|
12
|
+
assert_equal("a b c\n\nd e f", "a b c\n\nd e f".unwrap)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_deindent
|
16
|
+
assert_equal("this\n \is\n indented\n hangingly\n", "this\n \is\n indented\n hangingly\n".deindent)
|
17
|
+
assert_equal("this\n\is\nindented\nhangingly\n", "this\n \is\n indented\n hangingly\n".deindent(2))
|
18
|
+
assert_equal("this\n\is\nindented\n more\n", " this\n \is\n indented\n more\n".deindent)
|
19
|
+
assert_equal(" this\n\ is\n indented\n more\n", " this\n \is\n indented\n more\n".deindent(1))
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_deindent_hanging
|
23
|
+
assert_equal("this\n\is\nindented\nhangingly\n", "this\n \is\n indented\n hangingly\n".deindent_hanging)
|
24
|
+
assert_equal("this\n\is\nindented\nhangingly\n", "this\n \is\n indented\n hangingly\n".deindent_hanging(2))
|
25
|
+
assert_equal("this\n\is\nindented\n more", " this\n \is\n indented\n more".deindent_hanging)
|
26
|
+
assert_equal(" this\n\ is\n indented\n more\n", " this\n \is\n indented\n more\n".deindent_hanging(1))
|
27
|
+
assert_equal("\nx\n y\nz\n", "\n x\n y\n z\n".deindent_hanging)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_untabify
|
31
|
+
assert_equal("", "".untabify)
|
32
|
+
assert_equal(" "*8, "\t".untabify)
|
33
|
+
assert_equal(" "*8 + " ", "\t ".untabify)
|
34
|
+
assert_equal(" \n ", "\t\n\t".untabify(2))
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_indent
|
38
|
+
assert_equal(" a\n b", "a\nb".indent(2))
|
39
|
+
assert_equal(" a\n b\n", "a\nb\n".indent(2))
|
40
|
+
assert_equal(" \n a\n b\n", "\na\nb\n".indent(2))
|
41
|
+
assert_equal(" a\n b\n c", "a\n b\nc".indent(2))
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_indent_hanging
|
45
|
+
assert_equal("", "".indent_hanging(2))
|
46
|
+
assert_equal("a", "a".indent_hanging(2))
|
47
|
+
assert_equal("a\n b", "a\nb".indent_hanging(2))
|
48
|
+
assert_equal("a\n b\n", "a\nb\n".indent_hanging(2))
|
49
|
+
assert_equal("\n a\n b\n", "\na\nb\n".indent_hanging(2))
|
50
|
+
assert_equal("a\n b\n c", "a\n b\nc".indent_hanging(2))
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
def test_wrap
|
55
|
+
lorem78 = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus urna. Donec
|
56
|
+
tristique gravida nisi. Curabitur porttitor. Pellentesque habitant morbi
|
57
|
+
tristique senectus et netus et malesuada fames ac turpis egestas. Fusce vel
|
58
|
+
arcu. Suspendisse dapibus est elementum velit. Duis consectetuer, tellus ut
|
59
|
+
adipiscing facilisis, odio nibh imperdiet urna, non gravida odio."
|
60
|
+
lorem20 = "Lorem ipsum dolor
|
61
|
+
sit amet,
|
62
|
+
consectetuer
|
63
|
+
adipiscing elit.
|
64
|
+
Vivamus urna. Donec
|
65
|
+
tristique gravida
|
66
|
+
nisi. Curabitur
|
67
|
+
porttitor.
|
68
|
+
Pellentesque
|
69
|
+
habitant morbi
|
70
|
+
tristique senectus
|
71
|
+
et netus et
|
72
|
+
malesuada fames ac
|
73
|
+
turpis egestas.
|
74
|
+
Fusce vel arcu.
|
75
|
+
Suspendisse dapibus
|
76
|
+
est elementum velit.
|
77
|
+
Duis consectetuer,
|
78
|
+
tellus ut adipiscing
|
79
|
+
facilisis, odio nibh
|
80
|
+
imperdiet urna, non
|
81
|
+
gravida odio."
|
82
|
+
|
83
|
+
lorem = lorem78.gsub("\n", " ")
|
84
|
+
assert_equal(lorem78, lorem.wrap(78))
|
85
|
+
assert_equal(lorem20, lorem.wrap(20))
|
86
|
+
assert_equal("a"*20, ("a"*20).wrap(10))
|
87
|
+
end
|
88
|
+
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rbibtex
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0
|
7
|
-
date: 2005-11-
|
6
|
+
version: 0.1.0
|
7
|
+
date: 2005-11-14 00:00:00 +01:00
|
8
8
|
summary: A bibtex parsing library written in pure ruby
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -39,21 +39,30 @@ authors:
|
|
39
39
|
files:
|
40
40
|
- papers.bib
|
41
41
|
- README
|
42
|
-
- test.bib
|
43
42
|
- CHANGELOG
|
44
43
|
- InstalledFiles
|
45
44
|
- papers.html
|
45
|
+
- papers.new.bib
|
46
46
|
- setup.rb
|
47
47
|
- bin
|
48
48
|
- lib
|
49
|
+
- test
|
49
50
|
- bin/rbib2html
|
50
51
|
- bin/rbib2bib
|
51
52
|
- bin/rbib2txt
|
52
53
|
- lib/rbibtex.rb
|
53
54
|
- lib/rbibtex
|
54
55
|
- lib/rbibtex/pre-setup.rb
|
56
|
+
- lib/rbibtex/string.rb
|
57
|
+
- lib/rbibtex/types.rb
|
55
58
|
- lib/rbibtex/rbibtex.y
|
56
|
-
|
59
|
+
- lib/rbibtex/transform.rb
|
60
|
+
- test/test_string.rb
|
61
|
+
- test/test.bib
|
62
|
+
- test/test_bib.rb
|
63
|
+
test_files:
|
64
|
+
- test/test_string.rb
|
65
|
+
- test/test_bib.rb
|
57
66
|
rdoc_options: []
|
58
67
|
extra_rdoc_files: []
|
59
68
|
executables:
|