Sha256: abc3449ab93311da2b622634f9e68526841156ece23b7c9f62d7af5629d7246f

Contents?: true

Size: 1.03 KB

Versions: 59

Compression:

Stored size: 1.03 KB

Contents

require 'spec_helper'
require 'softcover/sanitizer'

describe Softcover::Sanitizer do
  context "malicious html" do
    let(:html) { "<div onclick='alert(document.cookie)'></div>"}

    it "cleans xss vectors" do
      expect(subject.clean(html)).to eq "<div></div>"
    end
  end

  context "safe html" do
    let(:html) do Nokogiri::HTML.fragment(<<-EOS
        <div id="a" class="b"></div>
        <div data-tralics-id="c" data-number="d" data-chapter="e"></div>
        <a id="a" class="b" href="c"></a>
        <span id="a" class="b" style="c"></span>
        <ol id="a" class="b"></ol>
        <ul id="a" class="b"></ul>
        <li id="a" class="b"></li>
        <sup id="a" class="b"></sup>
        <h1 id="a" class="b"></h1>
        <h2 id="a" class="b"></h2>
        <h3 id="a" class="b"></h3>
        <h4 id="a" class="b"></h4>
        <img id="a" class="b" src="c" alt="d" />
        <em id="a" class="b"></em>
      EOS
      ).to_xhtml
    end

    it "allows class and id" do
      expect(subject.clean(html)).to match html
    end
  end
end

Version data entries

59 entries across 59 versions & 2 rubygems

Version Path
softcover-0.8.8 spec/sanitizer_spec.rb
softcover-0.8.7 spec/sanitizer_spec.rb
softcover-0.8.6 spec/sanitizer_spec.rb
softcover-0.8.5 spec/sanitizer_spec.rb
softcover-0.8.4 spec/sanitizer_spec.rb
softcover-0.8.3 spec/sanitizer_spec.rb
softcover-0.8.2 spec/sanitizer_spec.rb
softcover-0.8.1 spec/sanitizer_spec.rb
softcover-0.8.0 spec/sanitizer_spec.rb
softcover-0.7.11 spec/sanitizer_spec.rb
softcover-0.7.10 spec/sanitizer_spec.rb
softcover-0.7.9 spec/sanitizer_spec.rb
softcover-0.7.8 spec/sanitizer_spec.rb
softcover-0.7.7 spec/sanitizer_spec.rb
softcover-0.7.6 spec/sanitizer_spec.rb
softcover-0.7.5 spec/sanitizer_spec.rb
softcover-0.7.4 spec/sanitizer_spec.rb
softcover-0.7.3 spec/sanitizer_spec.rb
softcover-0.7.2 spec/sanitizer_spec.rb