tiddlywiki_cp 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/COPYING +674 -0
- data/History.txt +4 -0
- data/Manifest.txt +68 -0
- data/README.txt +3 -0
- data/Rakefile +123 -0
- data/bin/tiddlywiki_cp +13 -0
- data/lib/tiddlywiki_cp/converters.rb +36 -0
- data/lib/tiddlywiki_cp/file2file.rb +32 -0
- data/lib/tiddlywiki_cp/file2tiddler.rb +42 -0
- data/lib/tiddlywiki_cp/r4tw.rb +763 -0
- data/lib/tiddlywiki_cp/tiddler2directory.rb +27 -0
- data/lib/tiddlywiki_cp/tiddler2file.rb +41 -0
- data/lib/tiddlywiki_cp/tiddler2tiddlywiki.rb +29 -0
- data/lib/tiddlywiki_cp/tiddler_css.rb +39 -0
- data/lib/tiddlywiki_cp/tiddler_html.rb +39 -0
- data/lib/tiddlywiki_cp/tiddler_js.rb +39 -0
- data/lib/tiddlywiki_cp/tiddlywiki2file.rb +29 -0
- data/lib/tiddlywiki_cp/version.rb +24 -0
- data/lib/tiddlywiki_cp.rb +378 -0
- data/scripts/txt2html +67 -0
- data/setup.rb +1585 -0
- data/test/content/a +0 -0
- data/test/content/a.div +0 -0
- data/test/content/b +0 -0
- data/test/content/e +3 -0
- data/test/content/e.div +1 -0
- data/test/content/html_entities.html +6 -0
- data/test/content/test_fetch.html +6 -0
- data/test/content/universe.html +10522 -0
- data/test/r4tw/addtag.rb +93 -0
- data/test/r4tw/all.rb +29 -0
- data/test/r4tw/createfrom.rb +62 -0
- data/test/r4tw/empties/2.1.3.html +7087 -0
- data/test/r4tw/empties/2.2.0.beta5.html +8726 -0
- data/test/r4tw/fromremote.rb +19 -0
- data/test/r4tw/fromurl.rb +28 -0
- data/test/r4tw/shadows.rb +27 -0
- data/test/r4tw/tiddler.rb +70 -0
- data/test/r4tw/tiddlerfromurl.rb +23 -0
- data/test/r4tw/tiddlywiki.rb +66 -0
- data/test/r4tw/utils.rb +55 -0
- data/test/r4tw/withcontent/2.2.0.beta5.html +8739 -0
- data/test/r4tw/withcontent/22b5index.html +13523 -0
- data/test/r4tw/withcontent/empty2.html +7084 -0
- data/test/r4tw/withcontent/nothing.js +1 -0
- data/test/r4tw/write_all_tiddlers_to.rb +62 -0
- data/test/test_all.rb +8 -0
- data/test/test_helper.rb +36 -0
- data/test/test_tiddler_css.rb +55 -0
- data/test/test_tiddler_html.rb +54 -0
- data/test/test_tiddler_js.rb +56 -0
- data/test/test_tiddlywiki_cp.rb +341 -0
- data/website/files/DefaultTiddlers.tiddler +2 -0
- data/website/files/DefaultTiddlers.tiddler.div +1 -0
- data/website/files/Introduction.tiddler +12 -0
- data/website/files/Introduction.tiddler.div +1 -0
- data/website/files/MainMenu.tiddler +1 -0
- data/website/files/MainMenu.tiddler.div +1 -0
- data/website/files/SiteSubtitle.tiddler +1 -0
- data/website/files/SiteSubtitle.tiddler.div +1 -0
- data/website/files/SiteTitle.tiddler +1 -0
- data/website/files/SiteTitle.tiddler.div +1 -0
- data/website/files/Usage.tiddler +55 -0
- data/website/files/Usage.tiddler.div +1 -0
- data/website/files/WebDAVSavingPlugin.js +234 -0
- data/website/files/WebDAVSavingPlugin.js.div +1 -0
- data/website/index.html +9144 -0
- data/website/index.xml +336 -0
- metadata +116 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
$LOAD_PATH << ".."
|
5
|
+
require 'r4tw'
|
6
|
+
|
7
|
+
class FromRemote < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def setup
|
10
|
+
@tw = make_tw { source_url }
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_it
|
14
|
+
@tw.add_tiddler_from_remote_tw("http://www.tiddlywiki.com/#HelloThere")
|
15
|
+
assert_equal( @tw.get_tiddler("HelloThere").name, "HelloThere" )
|
16
|
+
assert_equal( @tw.get_tiddler("HelloThere").modifier, "JeremyRuston" )
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
$LOAD_PATH << ".."
|
5
|
+
require 'r4tw'
|
6
|
+
|
7
|
+
class FromUrl < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def setup
|
10
|
+
|
11
|
+
@foo = fetch_url("http://www.tiddlywiki.com/empty.html")
|
12
|
+
|
13
|
+
@tw = make_tw {
|
14
|
+
source_url
|
15
|
+
}
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_it
|
20
|
+
|
21
|
+
assert_equal(
|
22
|
+
@foo,
|
23
|
+
@tw.to_s
|
24
|
+
)
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
$LOAD_PATH << ".."; require 'r4tw'
|
5
|
+
|
6
|
+
# might need some work here for 2.2 beta ???????
|
7
|
+
|
8
|
+
class ShadowTest < Test::Unit::TestCase
|
9
|
+
|
10
|
+
def setup
|
11
|
+
@tw = make_tw {
|
12
|
+
source_file "#{this_dir(__FILE__)}/empties/2.1.3.html"
|
13
|
+
}
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_shadow
|
17
|
+
@tw.add_shadow_tiddler Tiddler.new.from_scratch({'tiddler'=>'foo','text'=>'bar'})
|
18
|
+
#@tw.to_file "shadowtest.html"
|
19
|
+
#
|
20
|
+
assert_match(
|
21
|
+
/^config.shadowTiddlers\["foo"\] = "bar";/m,
|
22
|
+
@tw.to_s
|
23
|
+
)
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
$LOAD_PATH << ".."
|
5
|
+
require 'r4tw'
|
6
|
+
|
7
|
+
class TiddlerTest < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def test_tiddler
|
10
|
+
|
11
|
+
t = Tiddler.new.from_scratch
|
12
|
+
|
13
|
+
assert_match(
|
14
|
+
/<div tiddler="New Tiddler" modifier="YourName" modified="\d+" created="\d+" tags=""><\/div>/,
|
15
|
+
t.to_div
|
16
|
+
)
|
17
|
+
|
18
|
+
tt = Tiddler.new({})
|
19
|
+
|
20
|
+
assert_match(
|
21
|
+
/<div tiddler="New Tiddler" modifier="YourName" modified="\d+" created="\d+" tags=""><\/div>/,
|
22
|
+
tt.to_div
|
23
|
+
)
|
24
|
+
|
25
|
+
|
26
|
+
assert_equal("New Tiddler",t.name)
|
27
|
+
assert_equal("YourName",t.fields['modifier'])
|
28
|
+
|
29
|
+
assert_equal(
|
30
|
+
t.to_div,
|
31
|
+
Tiddler.new.from_div(t.to_div).to_div
|
32
|
+
)
|
33
|
+
|
34
|
+
assert_equal(0,t.extended_fields.length)
|
35
|
+
|
36
|
+
t.fields['foo'] = "blah"
|
37
|
+
assert_equal(['foo'],t.extended_fields)
|
38
|
+
|
39
|
+
assert_match(
|
40
|
+
/<div tiddler="New Tiddler" modifier="YourName" modified="\d+" created="\d+" tags="" foo="blah">/,
|
41
|
+
t.to_div
|
42
|
+
)
|
43
|
+
|
44
|
+
assert_match(
|
45
|
+
/<\/pre>\n<\/div>$/,
|
46
|
+
t.to_div(true)
|
47
|
+
)
|
48
|
+
|
49
|
+
|
50
|
+
t.add_tag("MyTag")
|
51
|
+
assert_match(
|
52
|
+
/<div tiddler="New Tiddler" modifier="YourName" modified="\d+" created="\d+" tags="MyTag" foo="blah">/,
|
53
|
+
t.to_div
|
54
|
+
)
|
55
|
+
|
56
|
+
t.add_tag("My Other Tag")
|
57
|
+
assert_match(
|
58
|
+
/<div tiddler="New Tiddler" modifier="YourName" modified="\d+" created="\d+" tags="MyTag \[\[My Other Tag\]\]" foo="blah">/,
|
59
|
+
t.to_div
|
60
|
+
)
|
61
|
+
|
62
|
+
t.remove_tag("MyTag")
|
63
|
+
assert_match(
|
64
|
+
/<div tiddler="New Tiddler" modifier="YourName" modified="\d+" created="\d+" tags="\[\[My Other Tag\]\]" foo="blah"><\/div>/,
|
65
|
+
t.to_div
|
66
|
+
)
|
67
|
+
|
68
|
+
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
$LOAD_PATH << ".."; require 'r4tw'
|
5
|
+
|
6
|
+
class TiddlerFromUrl < Test::Unit::TestCase
|
7
|
+
|
8
|
+
def setup
|
9
|
+
@tw = make_tw {
|
10
|
+
source_file "#{this_dir(__FILE__)}/empties/2.1.3.html"
|
11
|
+
}
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_it
|
15
|
+
@tw.add_tiddler_from_url(
|
16
|
+
"http://svn.tiddlywiki.org/Trunk/contributors/SimonBaird/mptw/trunk/noupgrade/MonkeyPirateTiddlyWiki.tiddler",
|
17
|
+
{'tiddler'=>'MPTW'}
|
18
|
+
)
|
19
|
+
# @tw.to_file "zz"
|
20
|
+
assert_equal( @tw.get_tiddler("MPTW").name, "MPTW" )
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
$LOAD_PATH << "..";
|
5
|
+
require 'r4tw'
|
6
|
+
|
7
|
+
class TiddlyWikiTest < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def setup
|
10
|
+
|
11
|
+
# these are 2.1 TW
|
12
|
+
@tw1 = make_tw { source_file "#{this_dir(__FILE__)}/empties/2.1.3.html" }
|
13
|
+
@tw2 = make_tw { source_file "#{this_dir(__FILE__)}/withcontent/empty2.html" }
|
14
|
+
|
15
|
+
# these two are 2.2 beta TW
|
16
|
+
@tw3 = make_tw { source_file "#{this_dir(__FILE__)}/empties/2.2.0.beta5.html" }
|
17
|
+
@tw4 = make_tw { source_file "#{this_dir(__FILE__)}/withcontent/2.2.0.beta5.html" }
|
18
|
+
|
19
|
+
@tw5 = make_tw { source_file "#{this_dir(__FILE__)}/withcontent/22b5index.html" }
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_load_empty
|
24
|
+
|
25
|
+
# should be the case that reading and writing a TW
|
26
|
+
# doesn't change it
|
27
|
+
assert_equal(File.read("#{this_dir(__FILE__)}/empties/2.1.3.html"),@tw1.to_s)
|
28
|
+
assert_equal(File.read("#{this_dir(__FILE__)}/withcontent/empty2.html"),@tw2.to_s)
|
29
|
+
|
30
|
+
assert_equal(File.read("#{this_dir(__FILE__)}/empties/2.2.0.beta5.html"),@tw3.to_s)
|
31
|
+
assert_equal(File.read("#{this_dir(__FILE__)}/withcontent/2.2.0.beta5.html"),@tw4.to_s)
|
32
|
+
|
33
|
+
assert_equal(File.read("#{this_dir(__FILE__)}/withcontent/22b5index.html"),@tw5.to_s)
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_orig_tiddler
|
38
|
+
|
39
|
+
# check that we found some tiddlers or not as approriate
|
40
|
+
|
41
|
+
assert_equal(0,@tw1.tiddlers.length)
|
42
|
+
|
43
|
+
assert_equal(
|
44
|
+
"translations",
|
45
|
+
@tw2.get_tiddler("translations").name
|
46
|
+
)
|
47
|
+
|
48
|
+
assert_equal(
|
49
|
+
"JeremyRuston",
|
50
|
+
@tw2.get_tiddler("translations").modifier
|
51
|
+
)
|
52
|
+
|
53
|
+
|
54
|
+
assert_equal(0,@tw3.tiddlers.length)
|
55
|
+
|
56
|
+
assert_equal(2,@tw4.tiddlers.length)
|
57
|
+
|
58
|
+
assert_equal(
|
59
|
+
"SimonBaird",
|
60
|
+
@tw4.get_tiddler("Foo").modifier
|
61
|
+
)
|
62
|
+
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
data/test/r4tw/utils.rb
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
$LOAD_PATH << ".."
|
5
|
+
require 'r4tw'
|
6
|
+
|
7
|
+
class UtilsTest < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def test_encode_decode
|
10
|
+
|
11
|
+
foo = '"<foo>&'
|
12
|
+
assert_equal(foo,'"<foo>&'.decodeHTML)
|
13
|
+
assert_equal(foo,foo.encodeHTML.decodeHTML)
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_escape_line_breaks
|
18
|
+
|
19
|
+
foo = "hey\nhey"
|
20
|
+
assert_equal(foo,"hey\\nhey".unescapeLineBreaks)
|
21
|
+
assert_equal(foo,foo.escapeLineBreaks.unescapeLineBreaks)
|
22
|
+
|
23
|
+
foo = '\\\\'
|
24
|
+
assert_equal(foo,'\\s\\s'.unescapeLineBreaks)
|
25
|
+
assert_equal(foo,foo.escapeLineBreaks.unescapeLineBreaks)
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_dates
|
30
|
+
foo = "200712101122"
|
31
|
+
bar = Time.convertFromYYYYMMDDHHMM(foo)
|
32
|
+
assert_equal("Mon Dec 10 11:22:00 UTC 2007",bar.to_s)
|
33
|
+
assert_equal(foo,bar.convertToYYYYMMDDHHMM)
|
34
|
+
|
35
|
+
# this test depends on timezone. I am at GMT+10
|
36
|
+
assert_equal("200712102122",bar.convertToLocalYYYYMMDDHHMM)
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_bracketed
|
40
|
+
foo = ["Hello there", "this", "that", "other", "one more"];
|
41
|
+
|
42
|
+
assert_equal(
|
43
|
+
foo,
|
44
|
+
"[[Hello there]] this that [[other]] [[one more]]".readBrackettedList
|
45
|
+
)
|
46
|
+
|
47
|
+
assert_equal(
|
48
|
+
foo,
|
49
|
+
foo.toBrackettedList.readBrackettedList
|
50
|
+
)
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|