Skip to content

Commit

Permalink
Add excluding_tags option
Browse files Browse the repository at this point in the history
  • Loading branch information
ahangarha committed Jul 29, 2023
1 parent 22b6de7 commit 398c292
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
1 change: 1 addition & 0 deletions lib/bidify/bidifier.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ def configure
@bidifiable_tags = DEFAULT_BIDIFIABLE_TAGS.dup
@bidifiable_tags.concat(TABLE_TAGS) if @options[:with_table_support]
@bidifiable_tags.concat(@options[:including_tags]) if @options.key?(:including_tags)
@bidifiable_tags.delete_if { |tag| @options[:excluding_tags]&.include?(tag) }
@bidifiable_tags = @options[:only_tags] if @options.key?(:only_tags)
end

Expand Down
34 changes: 34 additions & 0 deletions spec/html_string_bidifier_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -292,4 +292,38 @@

expect(actual_output).to eq expected_output
end

it "doesn't bidify specified excluded tags using `excluding_tags` option" do
input = <<~HTML
<p>راست left</p>
<div>left راست</div>
HTML

expected_output = <<~HTML
<p dir="auto">راست left</p>
<div>left راست</div>
HTML

bidifier = Bidify::HtmlStringBidifier.new(excluding_tags: ['div'])
actual_output = bidifier.apply(input)

expect(actual_output).to eq expected_output
end

it '`excluding_tags` option overrides `including_tags`' do
input = <<~HTML
<p>راست left</p>
<xyz>left راست</xyz>
HTML

expected_output = <<~HTML
<p dir="auto">راست left</p>
<xyz>left راست</xyz>
HTML

bidifier = Bidify::HtmlStringBidifier.new(including_tags: ['xyz'], excluding_tags: ['xyz'])
actual_output = bidifier.apply(input)

expect(actual_output).to eq expected_output
end
end

0 comments on commit 398c292

Please sign in to comment.