kwartz 3.1.0 → 3.1.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.
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
  ###