Sha256: 5c4d99038aeeb324e0f5ae500b5756fe2ae9a77fa14cddad555dc26b49212337

Contents?: true

Size: 1.33 KB

Versions: 8

Compression:

Stored size: 1.33 KB

Contents

# encoding: utf-8

class Nanoc3::DataSourceTest < MiniTest::Unit::TestCase

  include Nanoc3::TestHelpers

  def test_loading
    # Create data source
    data_source = Nanoc3::DataSource.new(nil, nil, nil, nil)
    data_source.expects(:up).times(1)
    data_source.expects(:down).times(1)

    # Test nested loading
    assert_equal(0, data_source.instance_eval { @references })
    data_source.loading do
      assert_equal(1, data_source.instance_eval { @references })
      data_source.loading do
        assert_equal(2, data_source.instance_eval { @references })
      end
      assert_equal(1, data_source.instance_eval { @references })
    end
    assert_equal(0, data_source.instance_eval { @references })
  end

  def test_not_implemented
    # Create data source
    data_source = Nanoc3::DataSource.new(nil, nil, nil, nil)

    # Test optional methods
    data_source.up
    data_source.down
    data_source.update

    # Test required methods - general
    assert_raises(NotImplementedError) { data_source.setup }

    # Test methods - loading data
    assert_equal [],  data_source.items
    assert_equal [],  data_source.layouts

    # Test required method - creating data
    assert_raises(NotImplementedError) { data_source.create_item(nil, nil, nil) }
    assert_raises(NotImplementedError) { data_source.create_layout(nil, nil, nil) }
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
nanoc3-3.2.4 test/base/test_data_source.rb
nanoc3-3.2.3 test/base/test_data_source.rb
nanoc3-3.2.2 test/base/test_data_source.rb
nanoc3-3.2.1 test/base/test_data_source.rb
nanoc3-3.2.0 test/base/test_data_source.rb
nanoc3-3.2.0b3 test/base/test_data_source.rb
nanoc3-3.2.0b2 test/base/test_data_source.rb
nanoc3-3.2.0b1 test/base/test_data_source.rb