Sha256: 4c1b1f2afdde53f675535dd9065bcf1927ab2678c6f17b0497b5302aea897fa7

Contents?: true

Size: 1.44 KB

Versions: 1

Compression:

Stored size: 1.44 KB

Contents

require_relative './spec_helper.rb'

describe 'code_example', fakefs: true do

  let(:page) { "{% code_example hello_world %}" }

  before(:all) do
    FakeFS.activate!

    FileUtils.mkdir_p('code_examples/ruby')
    FileUtils.mkdir_p('code_examples/python')
    File.open('code_examples/ruby/hello_world', 'w') { |f| f << 'puts "Hello World"'}
    File.open('code_examples/python/hello_world', 'w') { |f| f << 'print "Hello World"'}  
  end

  after(:all) do
    FakeFS.deactivate!
  end

  it 'can be used' do
    t = Liquid::Template.parse(page)
    o = t.render!({'site' => {}})
    o_obj = Nokogiri::XML.parse(o)
    expect(o_obj.xpath('/div[@class="code-examples"]/div[@class="buttons examples"]/ul/li/a[@class="button"][@target="ruby"][.="Ruby"]')).not_to be_empty
    expect(o_obj.xpath('/div[@class="code-examples"]/div[@class="buttons examples"]/ul/li/a[@class="button"][@target="python"][.="Python"]')).not_to be_empty
    ruby_example = o_obj.xpath('/div[@class="code-examples"]/div[@class="highlight example ruby"]/pre/code[@class="language ruby"][@data-lang="ruby"]')
    expect(ruby_example).not_to be_empty
    expect(ruby_example.first.content).to eq 'puts "Hello World"'
    python_example = o_obj.xpath('/div[@class="code-examples"]/div[@class="highlight example python"]/pre/code[@class="language python"][@data-lang="python"]')
    expect(python_example).not_to be_empty
    expect(python_example.first.content).to eq 'print "Hello World"'
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jekyll-code-example-tag-0.0.4 spec/code_example_spec.rb