123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- require 'atto'
- include Atto::Test
- require_relative '../lib/sitef'
- SITEF_NAME = '/tmp/sitef_test.sitef'
- SITEF_NAME2 = '/tmp/sitef_test2.sitef'
- TEST_DATA = []
- TEST_DATA << { :nid => 10, :text => "I'm a 10 text man\nAnd I go on several\nlines." }
- TEST_DATA << { :nid => 27, :text => "--\nA tricky text. 3 newlines:\n\n\nSlashes: \n\\\n:nid:27\n\n.text\n.." }
- module Foo
- class Try
- attr_reader :foo
- attr_reader :bar
-
- def initialize (h = {})
- @foo = h['foo']
- @bar = h['bar']
- end
-
- def self.from_sitef(h)
- self.new(h)
- end
-
- end
- end
- TEST_DATA2 = [ Foo::Try.new('foo' => 1, 'bar' => "Yeah"),
- Foo::Try.new('foo' => 1, 'bar' => "Oh")]
-
- assert { Sitef }
- assert { Sitef.save_filename(SITEF_NAME, TEST_DATA) }
- assert "Loading" do
- res, err = Sitef.load_filename(SITEF_NAME)
- p res
- res && err.empty? && res[0]["nid"] == "10" && res[1]["nid"] == "27"
- end
- assert "Text round trip" do
- res, err = Sitef.load_filename(SITEF_NAME)
- to = TEST_DATA[1][:text]
- tl = res[1]["text"]
- p to, tl
- to == tl
- end
- assert do
- Sitef.save_filename(SITEF_NAME2, TEST_DATA2, :foo, :bar)
- end
- assert do
- res, err = Sitef.load_objects(SITEF_NAME2)
- p res
- res
- end
|