testing
parent
bed657f0e8
commit
4b785b6034
@ -0,0 +1,2 @@
|
||||
bin
|
||||
.bundle
|
@ -0,0 +1,4 @@
|
||||
--tty
|
||||
--color
|
||||
--format documentation
|
||||
--require spec_helper
|
@ -0,0 +1,63 @@
|
||||
GEM
|
||||
remote: http://rubygems.org/
|
||||
specs:
|
||||
activesupport (4.2.4)
|
||||
i18n (~> 0.7)
|
||||
json (~> 1.7, >= 1.7.7)
|
||||
minitest (~> 5.1)
|
||||
thread_safe (~> 0.3, >= 0.3.4)
|
||||
tzinfo (~> 1.1)
|
||||
bb-ruby (1.1.0)
|
||||
daemons (1.2.3)
|
||||
diff-lcs (1.2.5)
|
||||
eventmachine (1.0.8)
|
||||
i18n (0.7.0)
|
||||
json (1.8.3)
|
||||
minitest (5.8.2)
|
||||
rack (1.6.4)
|
||||
rack-protection (1.5.3)
|
||||
rack
|
||||
rspec (3.1.0)
|
||||
rspec-core (~> 3.1.0)
|
||||
rspec-expectations (~> 3.1.0)
|
||||
rspec-mocks (~> 3.1.0)
|
||||
rspec-core (3.1.2)
|
||||
rspec-support (~> 3.1.0)
|
||||
rspec-expectations (3.1.0)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.1.0)
|
||||
rspec-mocks (3.1.0)
|
||||
rspec-support (~> 3.1.0)
|
||||
rspec-support (3.1.0)
|
||||
ruby-bbcode (2.0.0)
|
||||
activesupport (>= 3.2.3)
|
||||
sinatra (1.4.6)
|
||||
rack (~> 1.4)
|
||||
rack-protection (~> 1.4)
|
||||
tilt (>= 1.3, < 3)
|
||||
slim (3.0.6)
|
||||
temple (~> 0.7.3)
|
||||
tilt (>= 1.3.3, < 2.1)
|
||||
temple (0.7.6)
|
||||
thin (1.6.4)
|
||||
daemons (~> 1.0, >= 1.0.9)
|
||||
eventmachine (~> 1.0, >= 1.0.4)
|
||||
rack (~> 1.0)
|
||||
thread_safe (0.3.5)
|
||||
tilt (2.0.1)
|
||||
tzinfo (1.2.2)
|
||||
thread_safe (~> 0.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
bb-ruby
|
||||
rspec (~> 3.0)
|
||||
ruby-bbcode
|
||||
sinatra
|
||||
slim
|
||||
thin
|
||||
|
||||
BUNDLED WITH
|
||||
1.10.6
|
@ -0,0 +1,70 @@
|
||||
require 'parslet/rig/rspec'
|
||||
require_relative '../../bristlecode.rb'
|
||||
|
||||
module Bristlecode
|
||||
describe Parser do
|
||||
let(:parser) { Parser.new }
|
||||
|
||||
describe '#parse' do
|
||||
it 'can parse an empty string' do
|
||||
expect(parser).to parse('')
|
||||
end
|
||||
|
||||
it 'can parse plain text' do
|
||||
expect(parser).to parse('this is some plain text')
|
||||
end
|
||||
end
|
||||
|
||||
describe '#bold' do
|
||||
it 'can parse correct bold text syntax' do
|
||||
expect(parser.bold).to parse('[b]bolded contents here[/b]')
|
||||
expect(parser.bold).to parse('[b]bolded contents here[/B]')
|
||||
expect(parser.bold).to parse('[B]bolded contents here[/b]')
|
||||
expect(parser.bold).to parse('[B]bolded contents here[/B]')
|
||||
end
|
||||
|
||||
it 'can parse an unclosed tag' do
|
||||
expect(parser.bold).to parse('[b]bolded contents here')
|
||||
expect(parser.bold).to parse('[B]bolded contents here')
|
||||
end
|
||||
|
||||
it 'fails non-bold text' do
|
||||
expect(parser.bold).not_to parse('this is not bold')
|
||||
end
|
||||
|
||||
it 'fails dangling close tags' do
|
||||
expect(parser.bold).not_to parse('before [/b] after')
|
||||
end
|
||||
|
||||
it 'fails nonsense tag' do
|
||||
expect(parser.bold).not_to parse('[bold]fake content[/bold]')
|
||||
end
|
||||
end
|
||||
|
||||
describe '#italic' do
|
||||
it 'can parse correct italic text syntax' do
|
||||
expect(parser.italic).to parse('[i]italiced contents here[/i]')
|
||||
expect(parser.italic).to parse('[i]italiced contents here[/I]')
|
||||
expect(parser.italic).to parse('[I]italiced contents here[/i]')
|
||||
expect(parser.italic).to parse('[I]italiced contents here[/I]')
|
||||
end
|
||||
|
||||
it 'can parse an unclosed tag' do
|
||||
expect(parser.italic).to parse('[i]italiced contents here')
|
||||
expect(parser.italic).to parse('[I]italiced contents here')
|
||||
end
|
||||
|
||||
it 'fails non-italic text' do
|
||||
expect(parser.italic).not_to parse('this is not italic')
|
||||
end
|
||||
|
||||
it 'fails dangling close tags' do
|
||||
expect(parser.italic).not_to parse('before [/i] after')
|
||||
end
|
||||
|
||||
it 'fails nonsense tag' do
|
||||
expect(parser.italic).not_to parse('[italic]fake content[/italic]')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
@ -0,0 +1,9 @@
|
||||
RSpec.configure do |config|
|
||||
config.expect_with :rspec do |expect|
|
||||
expect.include_chain_clauses_in_custom_matcher_descriptions = true
|
||||
end
|
||||
|
||||
config.mock_with :rspec do |mocks|
|
||||
mocks.verify_partial_doubles = true
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue