csl 1.0.2 → 1.1.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.
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  module CSL
4
-
4
+
5
5
  describe Parser do
6
6
 
7
7
  describe '.instance' do
@@ -13,7 +13,7 @@ module CSL
13
13
  Parser.engines.each_pair do |name, parser|
14
14
  describe "when using the #{name} parser " do
15
15
  before(:all) { Parser.instance.parser = parser }
16
-
16
+
17
17
  describe '#parse' do
18
18
 
19
19
  describe 'for <foo/>' do
@@ -38,7 +38,7 @@ module CSL
38
38
 
39
39
  describe 'for <foo bar="x"/>' do
40
40
  let(:source) { '<foo bar="x"/>' }
41
-
41
+
42
42
  it 'returns a node with attributes' do
43
43
  Parser.instance.parse(source).should have_attributes
44
44
  end
@@ -54,7 +54,7 @@ module CSL
54
54
 
55
55
  describe 'for <foo>Foo Bar</foo>' do
56
56
  let(:source) { '<foo>Foo Bar</foo>' }
57
-
57
+
58
58
  it 'returns text node' do
59
59
  Parser.instance.parse(source).should be_textnode
60
60
  end
@@ -63,30 +63,30 @@ module CSL
63
63
  it 'returns a regular node for <x>\n <y/></x>' do
64
64
  Parser.instance.parse("<x>\n <y/></x>").should_not be_textnode
65
65
  end
66
-
67
- describe 'xml comments' do
68
- it 'ignores comment-only documents' do
69
- Parser.instance.parse("<!--x></x-->").should be_nil
70
- end
71
-
72
- it 'ignores comments in normal nodes' do
73
- Parser.instance.parse("<x><!-- comment --></x>").should_not have_children
74
- end
75
-
76
- it 'ignores comments in text nodes' do
77
- node = Parser.instance.parse("<x>foo<!-- comment --></x>")
78
- node.should be_textnode
79
- node.should_not have_children
80
- node.text.should == 'foo'
81
- end
82
-
83
- end
84
-
66
+
67
+ describe 'xml comments' do
68
+ it 'ignores comment-only documents' do
69
+ Parser.instance.parse("<!--x></x-->").should be_nil
70
+ end
71
+
72
+ it 'ignores comments in normal nodes' do
73
+ Parser.instance.parse("<x><!-- comment --></x>").should_not have_children
74
+ end
75
+
76
+ it 'ignores comments in text nodes' do
77
+ node = Parser.instance.parse("<x>foo<!-- comment --></x>")
78
+ node.should be_textnode
79
+ node.should_not have_children
80
+ node.text.should == 'foo'
81
+ end
82
+
83
+ end
84
+
85
85
  end
86
-
86
+
87
87
  end
88
88
  end
89
89
 
90
90
  end
91
-
92
- end
91
+
92
+ end
@@ -2,21 +2,21 @@ require 'spec_helper'
2
2
 
3
3
  module CSL
4
4
  describe 'Schema' do
5
-
5
+
6
6
  it 'cannot be instantiated' do
7
7
  Schema.should_not respond_to(:new)
8
8
  end
9
-
9
+
10
10
  describe '.version' do
11
11
  it 'returns a version string' do
12
12
  Schema.version.should match(/^\d+\.\d+\.\d+/)
13
13
  end
14
-
14
+
15
15
  it 'is greater than 1.0' do
16
16
  Schema.version.split(/\./)[0].to_i.should >= 1
17
17
  end
18
18
  end
19
-
19
+
20
20
  describe '.variables' do
21
21
  it 'contains :names fields' do
22
22
  Schema.variables[:names].should_not be_empty
@@ -36,43 +36,43 @@ module CSL
36
36
  Schema.variables[:numbers].should_not be_empty
37
37
  Schema.variables[:number].should_not be_empty
38
38
  end
39
-
39
+
40
40
  it 'accepts either string or symbol input' do
41
41
  Schema.variables[:names].should equal Schema.variables['names']
42
- end
42
+ end
43
43
  end
44
-
44
+
45
45
  describe '.types' do
46
46
  it 'returns an array' do
47
47
  Schema.types.should be_a(Array)
48
48
  end
49
-
49
+
50
50
  it 'is not empty' do
51
51
  Schema.types.should_not be_empty
52
52
  end
53
-
53
+
54
54
  it 'includes :article' do
55
55
  Schema.types.should include(:article)
56
56
  end
57
57
  end
58
-
58
+
59
59
  describe '.categories' do
60
60
  it 'given a field name returns the corresponding type' do
61
61
  Schema.categories.values_at(:author, :issued, :abstract, :issue).should ==
62
62
  [:names, :date, :text, :number]
63
63
  end
64
-
64
+
65
65
  it 'accepts either string or symbol input' do
66
66
  Schema.categories.should have_key(:author)
67
67
  Schema.categories['author'].should equal Schema.categories[:author]
68
68
  end
69
69
  end
70
-
70
+
71
71
  describe '.validate' do
72
72
  it 'accepts and validates a locale instance' do
73
73
  Schema.validate(Locale.load('en-US')).should == []
74
74
  end
75
-
75
+
76
76
  it 'accepts and validates a locale file path' do
77
77
  Schema.validate(File.join(Locale.root, 'locales-en-US.xml')).should == []
78
78
  end
@@ -103,9 +103,9 @@ module CSL
103
103
  </stle>
104
104
  })[0][0].should == 0 # error on line 0 -> parse error
105
105
  end
106
-
106
+
107
107
  # TODO fix nokogiri/jing validation
108
108
  end unless RUBY_PLATFORM =~ /java/i
109
-
109
+
110
110
  end
111
111
  end
@@ -2,6 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  module CSL
4
4
  describe Style::Layout do
5
-
5
+
6
6
  end
7
- end
7
+ end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ module CSL
4
+ describe Style::Sort do
5
+
6
+ end
7
+
8
+ describe Style::Sort::Key do
9
+
10
+ end
11
+ end
@@ -1,9 +1,18 @@
1
1
  begin
2
- if RUBY_VERSION < '1.9'
3
- # require 'debug'
4
- # Debugger.start
2
+ require 'simplecov'
3
+ require 'coveralls' if ENV['CI']
4
+ rescue LoadError
5
+ # ignore
6
+ end
7
+
8
+ begin
9
+ case
10
+ when RUBY_PLATFORM < 'java'
11
+ require 'debug'
12
+ Debugger.start
13
+ when defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
14
+ require 'rubinius/debugger'
5
15
  else
6
- require 'simplecov'
7
16
  require 'debugger'
8
17
  end
9
18
  rescue LoadError
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvester Keil
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-20 00:00:00.000000000 Z
11
+ date: 2014-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: namae
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0.7'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.7'
27
27
  description: "\n\t\tA Ruby parser and full API for the Citation Style Language (CSL),\n\t\tan
@@ -32,12 +32,13 @@ executables: []
32
32
  extensions: []
33
33
  extra_rdoc_files: []
34
34
  files:
35
- - .document
36
- - .gitignore
37
- - .rspec
38
- - .simplecov
39
- - .travis.yml
40
- - .yardopts
35
+ - ".coveralls.yml"
36
+ - ".document"
37
+ - ".gitignore"
38
+ - ".rspec"
39
+ - ".simplecov"
40
+ - ".travis.yml"
41
+ - ".yardopts"
41
42
  - AGPL
42
43
  - BSDL
43
44
  - Gemfile
@@ -48,6 +49,7 @@ files:
48
49
  - cucumber.yml
49
50
  - features/locales/loading.feature
50
51
  - features/locales/ordinalize.feature
52
+ - features/parser/choose.feature
51
53
  - features/parser/info.feature
52
54
  - features/parser/localized_dates.feature
53
55
  - features/parser/terms.feature
@@ -67,6 +69,7 @@ files:
67
69
  - lib/csl/locale/date.rb
68
70
  - lib/csl/locale/style_options.rb
69
71
  - lib/csl/locale/term.rb
72
+ - lib/csl/name_options.rb
70
73
  - lib/csl/node.rb
71
74
  - lib/csl/parser.rb
72
75
  - lib/csl/pretty_printer.rb
@@ -104,6 +107,7 @@ files:
104
107
  - spec/csl/style/macro_spec.rb
105
108
  - spec/csl/style/names_spec.rb
106
109
  - spec/csl/style/number_spec.rb
110
+ - spec/csl/style/sort_spec.rb
107
111
  - spec/csl/style/text_spec.rb
108
112
  - spec/csl/style_spec.rb
109
113
  - spec/csl/treelike_spec.rb
@@ -127,23 +131,24 @@ require_paths:
127
131
  - lib
128
132
  required_ruby_version: !ruby/object:Gem::Requirement
129
133
  requirements:
130
- - - '>='
134
+ - - ">="
131
135
  - !ruby/object:Gem::Version
132
- version: '0'
136
+ version: 1.9.3
133
137
  required_rubygems_version: !ruby/object:Gem::Requirement
134
138
  requirements:
135
- - - '>='
139
+ - - ">="
136
140
  - !ruby/object:Gem::Version
137
141
  version: '0'
138
142
  requirements: []
139
143
  rubyforge_project:
140
- rubygems_version: 2.0.3
144
+ rubygems_version: 2.2.1
141
145
  signing_key:
142
146
  specification_version: 4
143
147
  summary: A Ruby CSL parser and library
144
148
  test_files:
145
149
  - features/locales/loading.feature
146
150
  - features/locales/ordinalize.feature
151
+ - features/parser/choose.feature
147
152
  - features/parser/info.feature
148
153
  - features/parser/localized_dates.feature
149
154
  - features/parser/terms.feature
@@ -170,6 +175,7 @@ test_files:
170
175
  - spec/csl/style/macro_spec.rb
171
176
  - spec/csl/style/names_spec.rb
172
177
  - spec/csl/style/number_spec.rb
178
+ - spec/csl/style/sort_spec.rb
173
179
  - spec/csl/style/text_spec.rb
174
180
  - spec/csl/style_spec.rb
175
181
  - spec/csl/treelike_spec.rb