Changesets can be listed by changeset number.
The Git repository is here.
- Revision:
- 2
- Log:
Initial import of Instiki 0.11.0 sources from a downloaded Tarball.
Instiki is a Ruby On Rails based Wiki clone.
- Author:
- adh
- Date:
- Sat Jul 22 14:54:51 +0100 2006
- Size:
- 3770 Bytes
1 | require File.expand_path(File.dirname(__FILE__) + '/../test_helper') |
2 | |
3 | class WebTest < Test::Unit::TestCase |
4 | fixtures :webs, :pages, :revisions, :system, :wiki_references |
5 | |
6 | def setup |
7 | @web = webs(:instiki) |
8 | end |
9 | |
10 | def test_pages_by_revision |
11 | add_sample_pages |
12 | assert_equal 'EverBeenHated', @web.select.by_revision.first.name |
13 | end |
14 | |
15 | def test_pages_by_match |
16 | add_sample_pages |
17 | assert_equal 2, @web.select { |page| page.content =~ /me/i }.length |
18 | assert_equal 1, @web.select { |page| page.content =~ /Who/i }.length |
19 | assert_equal 0, @web.select { |page| page.content =~ /none/i }.length |
20 | end |
21 | |
22 | def test_references |
23 | add_sample_pages |
24 | assert_equal 1, @web.select.pages_that_reference('EverBeenHated').length |
25 | assert_equal 0, @web.select.pages_that_reference('EverBeenInLove').length |
26 | end |
27 | |
28 | def test_delete |
29 | add_sample_pages |
30 | assert_equal 2, @web.pages.length |
31 | @web.remove_pages([ @web.page('EverBeenInLove') ]) |
32 | assert_equal 1, @web.pages(true).length |
33 | end |
34 | |
35 | def test_initialize |
36 | web = Web.new(:name => 'Wiki2', :address => 'wiki2', :password => '123') |
37 | |
38 | assert_equal 'Wiki2', web.name |
39 | assert_equal 'wiki2', web.address |
40 | assert_equal '123', web.password |
41 | |
42 | # new web should be set for maximum features enabled |
43 | assert_equal :textile, web.markup |
44 | assert_equal '008B26', web.color |
45 | assert !web.safe_mode? |
46 | assert_equal([], web.pages) |
47 | assert web.allow_uploads? |
48 | assert_nil web.additional_style |
49 | assert !web.published? |
50 | assert !web.brackets_only? |
51 | assert !web.count_pages? |
52 | assert_equal 100, web.max_upload_size |
53 | end |
54 | |
55 | def test_initialize_invalid_name |
56 | assert_raises(Instiki::ValidationError) { |
57 | Web.create(:name => 'Wiki2', :address => "wiki\234", :password => '123') |
58 | } |
59 | end |
60 | |
61 | def test_new_page_linked_from_mother_page |
62 | # this was a bug in revision 204 |
63 | home = @web.add_page('HomePage', 'This page refers to AnotherPage', |
64 | Time.local(2004, 4, 4, 16, 50), 'Alexey Verkhovsky', test_renderer) |
65 | @web.add_page('AnotherPage', 'This is \AnotherPage', |
66 | Time.local(2004, 4, 4, 16, 51), 'Alexey Verkhovsky', test_renderer) |
67 | |
68 | @web.pages(true) |
69 | assert_equal [home], @web.select.pages_that_link_to('AnotherPage') |
70 | end |
71 | |
72 | def test_orphaned_pages |
73 | add_sample_pages |
74 | home = @web.add_page('HomePage', |
75 | 'This is a home page, it should not be an orphan', |
76 | Time.local(2004, 4, 4, 16, 50), 'AlexeyVerkhovsky', test_renderer) |
77 | author = @web.add_page('AlexeyVerkhovsky', |
78 | 'This is an author page, it should not be an orphan', |
79 | Time.local(2004, 4, 4, 16, 50), 'AlexeyVerkhovsky', test_renderer) |
80 | self_linked = @web.add_page('SelfLinked', |
81 | 'I am SelfLinked and link to EverBeenInLove', |
82 | Time.local(2004, 4, 4, 16, 50), 'AnonymousCoward', test_renderer) |
83 | |
84 | # page that links to itself, and nobody else links to it must be an orphan |
85 | assert_equal ['EverBeenHated', 'SelfLinked'], |
86 | @web.select.orphaned_pages.collect{ |page| page.name }.sort |
87 | end |
88 | |
89 | def test_page_names_by_author |
90 | page_names_by_author = webs(:test_wiki).page_names_by_author |
91 | assert_equal %w(AnAuthor DavidHeinemeierHansson Guest Me TreeHugger), |
92 | page_names_by_author.keys.sort |
93 | assert_equal %w(FirstPage HomePage), page_names_by_author['DavidHeinemeierHansson'] |
94 | assert_equal %w(Oak), page_names_by_author['TreeHugger'] |
95 | end |
96 | |
97 | private |
98 | |
99 | def add_sample_pages |
100 | @in_love = @web.add_page('EverBeenInLove', 'Who am I me', |
101 | Time.local(2004, 4, 4, 16, 50), 'DavidHeinemeierHansson', test_renderer) |
102 | @hated = @web.add_page('EverBeenHated', 'I am me EverBeenHated', |
103 | Time.local(2004, 4, 4, 16, 51), 'DavidHeinemeierHansson', test_renderer) |
104 | end |
105 | end |