kwartz 3.1.0 → 3.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. data/ChangeLog +10 -3
  2. data/README.txt +6 -1
  3. data/bin/kwartz +1 -1
  4. data/doc-api/classes/Kwartz.html +2 -2
  5. data/doc-api/classes/Kwartz/Main.html +2 -2
  6. data/doc-api/created.rid +1 -1
  7. data/doc-api/files/__/README_txt.html +6 -2
  8. data/doc-api/files/kwartz/assert_rb.html +1 -1
  9. data/doc-api/files/kwartz/binding/eperl_rb.html +1 -1
  10. data/doc-api/files/kwartz/binding/erubis_rb.html +1 -1
  11. data/doc-api/files/kwartz/binding/eruby_rb.html +1 -1
  12. data/doc-api/files/kwartz/binding/jstl_rb.html +1 -1
  13. data/doc-api/files/kwartz/binding/php_rb.html +1 -1
  14. data/doc-api/files/kwartz/binding/pierubis_rb.html +1 -1
  15. data/doc-api/files/kwartz/binding/rails_rb.html +1 -1
  16. data/doc-api/files/kwartz/binding/ruby_rb.html +1 -1
  17. data/doc-api/files/kwartz/binding/struts_rb.html +1 -1
  18. data/doc-api/files/kwartz/config_rb.html +1 -1
  19. data/doc-api/files/kwartz/converter_rb.html +1 -1
  20. data/doc-api/files/kwartz/defun_rb.html +1 -1
  21. data/doc-api/files/kwartz/error_rb.html +1 -1
  22. data/doc-api/files/kwartz/helper/rails_rb.html +1 -1
  23. data/doc-api/files/kwartz/main_rb.html +2 -2
  24. data/doc-api/files/kwartz/node_rb.html +1 -1
  25. data/doc-api/files/kwartz/parser_rb.html +1 -1
  26. data/doc-api/files/kwartz/translator_rb.html +1 -1
  27. data/doc-api/files/kwartz/util/assert-text-equal_rb.html +1 -1
  28. data/doc-api/files/kwartz/util/testcase-helper_rb.html +2 -2
  29. data/doc-api/files/kwartz/util_rb.html +1 -1
  30. data/doc-api/files/kwartz_rb.html +1 -1
  31. data/doc/img/fig01.png +0 -0
  32. data/doc/img/fig02.png +0 -0
  33. data/doc/img/fig03.png +0 -0
  34. data/doc/img/fig04.png +0 -0
  35. data/doc/{p-pattern.html → pattern-catalog.html} +29 -21
  36. data/doc/pattern-catalog/design.css +51 -0
  37. data/doc/pattern-catalog/design.html +42 -0
  38. data/doc/reference.html +23 -261
  39. data/doc/users-guide.html +70 -44
  40. data/kwartz.gemspec +13 -9
  41. data/lib/kwartz.rb +2 -2
  42. data/lib/kwartz/assert.rb +1 -1
  43. data/lib/kwartz/binding/eperl.rb +1 -1
  44. data/lib/kwartz/binding/erubis.rb +1 -1
  45. data/lib/kwartz/binding/eruby.rb +1 -1
  46. data/lib/kwartz/binding/jstl.rb +1 -1
  47. data/lib/kwartz/binding/php.rb +1 -1
  48. data/lib/kwartz/binding/pierubis.rb +1 -1
  49. data/lib/kwartz/binding/rails.rb +1 -1
  50. data/lib/kwartz/binding/ruby.rb +1 -1
  51. data/lib/kwartz/binding/struts.rb +1 -1
  52. data/lib/kwartz/config.rb +1 -1
  53. data/lib/kwartz/converter.rb +1 -1
  54. data/lib/kwartz/defun.rb +1 -1
  55. data/lib/kwartz/error.rb +1 -1
  56. data/lib/kwartz/helper/rails.rb +1 -1
  57. data/lib/kwartz/main.rb +4 -4
  58. data/lib/kwartz/node.rb +1 -1
  59. data/lib/kwartz/parser.rb +1 -1
  60. data/lib/kwartz/translator.rb +1 -1
  61. data/lib/kwartz/util.rb +1 -1
  62. data/lib/kwartz/util/assert-text-equal.rb +1 -1
  63. data/lib/kwartz/util/testcase-helper.rb +10 -4
  64. data/test/test-compile.rb +1 -1
  65. data/test/test-converter.rb +27 -12
  66. data/test/test-converter.yaml +173 -26
  67. data/test/test-directives.rb +1 -1
  68. data/test/test-main.rb +1 -1
  69. data/test/test-parser.rb +1 -1
  70. data/test/test-parser.yaml +1 -1
  71. data/test/test-rails.rb +1 -1
  72. data/test/test-ruleset.rb +1 -1
  73. data/test/test-ruleset.yaml +18 -18
  74. data/test/test.rb +1 -1
  75. metadata +10 -4
@@ -1,6 +1,6 @@
1
1
  ###
2
2
  ### $Rev: 136 $
3
- ### $Release: 3.1.0 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -1,6 +1,6 @@
1
1
  ###
2
2
  ### $Rev: 112 $
3
- ### $Release: 3.1.0 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -1,6 +1,6 @@
1
1
  ###
2
2
  ### $Rev: 134 $
3
- ### $Release: 3.1.0 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -1,6 +1,6 @@
1
1
  ###
2
- ### $Rev: 136 $
3
- ### $Release: 3.1.0 $
2
+ ### $Rev: 141 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -175,8 +175,8 @@ module Kwartz
175
175
  status = 0
176
176
  begin
177
177
  main = Kwartz::Main.new(argv)
178
- out = main.execute()
179
- print out unless out == nil
178
+ output = main.execute()
179
+ print output unless output == nil
180
180
  rescue Kwartz::KwartzError => ex
181
181
  raise ex if $DEBUG
182
182
  $stderr.puts ex.to_s
@@ -1,6 +1,6 @@
1
1
  ####
2
2
  #### $Rev: 122 $
3
- #### $Release: 3.1.0 $
3
+ #### $Release: 3.1.1 $
4
4
  #### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ####
6
6
 
@@ -1,6 +1,6 @@
1
1
  ###
2
2
  ### $Rev: 124 $
3
- ### $Release: 3.1.0 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -1,6 +1,6 @@
1
1
  ####
2
2
  #### $Rev: 128 $
3
- #### $Release: 3.1.0 $
3
+ #### $Release: 3.1.1 $
4
4
  #### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ####
6
6
 
@@ -1,6 +1,6 @@
1
1
  ###
2
2
  ### $Rev: 126 $
3
- ### $Release: 3.1.0 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -1,6 +1,6 @@
1
1
  ###
2
2
  ### $Rev: 117 $
3
- ### $Release: 3.1.0 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -1,6 +1,6 @@
1
1
  ###
2
2
  ### $Rev$
3
- ### $Release: 3.1.0 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -73,17 +73,21 @@ class Test::Unit::TestCase # :nodoc:
73
73
  end
74
74
 
75
75
 
76
+ SPECIAL_KEYS = %[exception errormsg]
77
+
76
78
  def self.load_yaml_testdata(filename, options={}) # :nodoc:
77
79
  identkey = options[:identkey] || 'name'
78
80
  testmethod = options[:testmethod] || '_test'
79
81
  lang = options[:lang]
82
+ special_keys = options[:special_keys] || SPECIAL_KEYS
80
83
  load_yaml_documents(filename, options) do |ydoc|
81
84
  ident = ydoc[identkey]
82
85
  s = "def test_#{ident}\n"
83
86
  ydoc.each do |key, val|
84
87
  if key[-1] == ?*
85
88
  key = key[0, key.length-1]
86
- val = val[lang]
89
+ k = special_keys.include?(key) ? 'ruby' : lang
90
+ val = val[k]
87
91
  end
88
92
  s << " @#{key} = #{val.inspect}\n"
89
93
  end
@@ -103,9 +107,10 @@ class Test::Unit::TestCase # :nodoc:
103
107
  def self.load_yaml_testdata_with_each_lang(filename, options={}) # :nodoc:
104
108
  identkey = options[:identkey] || 'name'
105
109
  testmethod = options[:testmethod] || '_test'
110
+ special_keys = options[:special_keys] || SPECIAL_KEYS
106
111
  langs = defined?($lang) && $lang ? [ $lang ] : options[:langs]
107
112
  langs or raise "*** #{method_name()}(): option ':langs' is required."
108
- #
113
+
109
114
  load_yaml_documents(filename, options) do |ydoc|
110
115
  ident = ydoc[identkey]
111
116
  langs.each do |lang|
@@ -114,7 +119,8 @@ class Test::Unit::TestCase # :nodoc:
114
119
  ydoc.each do |key, val|
115
120
  if key[-1] == ?*
116
121
  key = key[0, key.length-1]
117
- val = val[lang]
122
+ k = special_keys.include?(key) ? 'ruby' : lang
123
+ val = val[k]
118
124
  end
119
125
  s << " @#{key} = #{val.inspect}\n"
120
126
  end
@@ -1,6 +1,6 @@
1
1
  ###
2
2
  ### $Rev: 128 $
3
- ### $Release: 3.1.0 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -1,6 +1,6 @@
1
1
  ###
2
- ### $Rev: 123 $
3
- ### $Release: 3.1.0 $
2
+ ### $Rev: 141 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -13,13 +13,11 @@ class ConverterTest < Test::Unit::TestCase
13
13
  ## define test methods
14
14
  filename = __FILE__.sub(/\.rb$/, '.yaml')
15
15
  #load_yaml_testdata(filename)
16
- load_yaml_testdata_with_each_lang(filename, :langs=>%w[eruby php])
16
+ langs = %w[eruby php jstl eperl]
17
+ load_yaml_testdata_with_each_lang(filename, :langs=>langs)
17
18
 
18
19
 
19
20
  def _test
20
- #parser = Kwartz::PresentationLogicParser.get_class('css').new
21
- #ruleset_list = parser.parse(@plogic)
22
- ruleset_list = []
23
21
  (@properties ||= {}).each do |key, val|
24
22
  if key.is_a?(String)
25
23
  key = key.intern
@@ -27,15 +25,32 @@ class ConverterTest < Test::Unit::TestCase
27
25
  @properties[key] = val
28
26
  end
29
27
  end
28
+ parser = Kwartz::PresentationLogicParser.get_class('css').new
29
+ ruleset_list = parser.parse(@plogic.to_s)
30
+ #ruleset_list = []
30
31
  handler = Kwartz::Handler.get_class(@lang).new(ruleset_list, @properties)
31
32
  converter = Kwartz::TextConverter.new(handler, @properties)
32
- stmt_list = converter.convert(@pdata)
33
- sb = ''
34
- stmt_list.each do |stmt|
35
- sb << (s = stmt._inspect)
36
- sb << "\n" unless s[-1] == ?\n
33
+ if @exception
34
+ error_class = @exception.split(/::/).inject(Object) {|cls, name| cls.const_get(name) }
35
+ errmsg = nil
36
+ assert_raise(error_class) do
37
+ begin
38
+ stmt_list = converter.convert(@pdata)
39
+ rescue => ex
40
+ errmsg = ex.message
41
+ raise ex
42
+ end
43
+ end
44
+ assert_equal(@errormsg, errmsg)
45
+ else
46
+ stmt_list = converter.convert(@pdata)
47
+ sb = ''
48
+ stmt_list.each do |stmt|
49
+ sb << (s = stmt._inspect)
50
+ sb << "\n" unless s[-1] == ?\n
51
+ end
52
+ assert_text_equal(@expected, sb)
37
53
  end
38
- assert_text_equal(@expected, sb)
39
54
  end
40
55
 
41
56
 
@@ -1,3 +1,176 @@
1
+
2
+ # --------------------------------------------------------------------------------
3
+
4
+ ###
5
+ - name: convert01
6
+ desc: basic test
7
+ pdata: |
8
+ <ul>
9
+ <li>foo</li>
10
+ </ul>
11
+ expected: |
12
+ print("<ul>\n")
13
+ print(" <li>")
14
+ print("foo")
15
+ print("</li>\n")
16
+ print("</ul>\n")
17
+
18
+ ###
19
+ - name: convert02
20
+ desc: marked element
21
+ pdata: |
22
+ <ul id="list">
23
+ <li id="mark:item">foo</li>
24
+ </ul>
25
+ expected: |
26
+ print("<ul id=\"list\">\n")
27
+ print(" <li>")
28
+ print("foo")
29
+ print("</li>\n")
30
+ print("</ul>\n")
31
+
32
+ ###
33
+ - name: convert03
34
+ desc: nested element
35
+ pdata: |
36
+ <div>
37
+ <div>
38
+ <div id="list">
39
+ <div id="mark:item">
40
+ <div>foo</div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ expected: |
46
+ print("<div>\n")
47
+ print(" <div>\n")
48
+ print(" <div id=\"list\">\n")
49
+ print(" <div>\n")
50
+ print(" <div>")
51
+ print("foo")
52
+ print("</div>\n")
53
+ print(" </div>\n")
54
+ print(" </div>\n")
55
+ print(" </div>\n")
56
+ print("</div>\n")
57
+
58
+ ###
59
+ - name: convert04
60
+ desc: rest text
61
+ pdata: |
62
+ foo
63
+ bar
64
+ <ul id="mark:list">
65
+ </ul>
66
+ baz
67
+ boo
68
+ expected: |
69
+ print("foo\nbar\n")
70
+ print("<ul>\n")
71
+ print("</ul>\n")
72
+ print("baz\nboo\n")
73
+
74
+ ###
75
+ - name: convert05
76
+ desc: no tags
77
+ pdata: |
78
+ foo
79
+ bar
80
+ baz
81
+ expected: |
82
+ print("foo\nbar\nbaz\n")
83
+
84
+ ###
85
+ - name: convert06
86
+ desc: not well-formed
87
+ pdata: |
88
+ <div id="foo">
89
+ <p><span></b>
90
+ </div>
91
+ expected: |
92
+ print("<div id=\"foo\">\n")
93
+ print(" <p>")
94
+ print("<span>")
95
+ print("</b>\n")
96
+ print("</div>\n")
97
+
98
+ ###
99
+ - name: convert08
100
+ desc: tag is not closed
101
+ pdata: |
102
+ <span>
103
+ <div id="list">
104
+ <div id="mark:item">
105
+ <div>foo
106
+ </div>
107
+ </div>
108
+ </span>
109
+ exception*:
110
+ ruby: Kwartz::ConvertError
111
+ php: KwartzConvertionException
112
+ java: kwartz.ConverterException
113
+ errormsg*:
114
+ ruby: ":2: '<div>' is not closed."
115
+ php: ":2: '<div>' is not closed."
116
+ java: ...error message...
117
+
118
+ # --------------------------------------------------------------------------------
119
+
120
+ ###
121
+ - name: convert11
122
+ desc: pdata and plogic
123
+ pdata: |
124
+ <ul id="mark:list">
125
+ <li id="mark:item">foo</li>
126
+ </ul>
127
+ plogic: |
128
+ #list {
129
+ logic: {
130
+ _stag;
131
+ foreach (item in list) {
132
+ _cont;
133
+ }
134
+ _etag;
135
+ }
136
+ }
137
+ #item {
138
+ value: item;
139
+ }
140
+ expected: |
141
+ print("<ul>\n")
142
+ <% foreach (item in list) {%>
143
+ print(" <li>")
144
+ print(<%=item%>)
145
+ print("</li>\n")
146
+ <% }%>
147
+ print("</ul>\n")
148
+
149
+
150
+ ###
151
+ - name: convert12
152
+ desc: empty logic
153
+ pdata: |
154
+ <div>
155
+ <ul id="mark:list">
156
+ <li id="mark:item">foo</li>
157
+ </ul>
158
+ </div>
159
+ plogic: |
160
+ #list {
161
+ logic: {
162
+ }
163
+ }
164
+ #item {
165
+ value: item;
166
+ }
167
+ expected: |
168
+ print("<div>\n")
169
+ print("</div>\n")
170
+
171
+
172
+ # --------------------------------------------------------------------------------
173
+
1
174
  ###
2
175
  - name: delspan1
3
176
  desc: <span> and id="mark:foo"
@@ -330,29 +503,3 @@
330
503
  #
331
504
 
332
505
 
333
- ###
334
- - name: unmatched
335
- desc: unmatched text to fetch pattern
336
- bug: self found
337
- pdata*:
338
- eruby: &unmatched_pdata |
339
- foo
340
- bar
341
- baz
342
- php: *unmatched_pdata
343
- jstl: *unmatched_pdata
344
- eperl: *unmatched_pdata
345
-
346
- plogic*:
347
- eruby: |
348
- php: |
349
- jstl: |
350
- eperl: |
351
-
352
- expected*:
353
- eruby: &unmatched_expected |
354
- print("foo\nbar\nbaz\n")
355
- php: *unmatched_expected
356
- jstl: *unmatched_expected
357
- eperl: *unmatched_expected
358
-
@@ -1,6 +1,6 @@
1
1
  ###
2
2
  ### $Rev: 117 $
3
- ### $Release: 3.1.0 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -1,6 +1,6 @@
1
1
  ###
2
2
  ### $Rev: 136 $
3
- ### $Release: 3.1.0 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -1,6 +1,6 @@
1
1
  ###
2
2
  ### $Rev: 122 $
3
- ### $Release: 3.1.0 $
3
+ ### $Release: 3.1.1 $
4
4
  ### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
5
5
  ###
6
6
 
@@ -1,5 +1,5 @@
1
1
  ## $Rev: 132 $
2
- ## $Release: 3.1.0 $
2
+ ## $Release: 3.1.1 $
3
3
  ## copyright(c) 2004-2006 kuwata-lab.com all rights reserved
4
4
 
5
5
  ###