masterview 0.0.6 → 0.0.7

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 (66) hide show
  1. data/Rakefile +8 -5
  2. data/init.rb +43 -0
  3. data/lib/facets/AUTHORS +36 -0
  4. data/lib/facets/CHANGELOG +266 -0
  5. data/lib/facets/COPYING +403 -0
  6. data/lib/facets/ProjectInfo +74 -0
  7. data/lib/facets/README +252 -0
  8. data/lib/facets/core/string/blank.rb +36 -0
  9. data/lib/facets/core/string/indent.rb +68 -0
  10. data/lib/facets/core/string/starts_with.rb +24 -0
  11. data/lib/masterview/directive_base.rb +163 -0
  12. data/lib/masterview/directive_helpers.rb +176 -0
  13. data/lib/masterview/directives/block.rb +30 -0
  14. data/lib/masterview/directives/content.rb +10 -0
  15. data/lib/masterview/directives/else.rb +25 -0
  16. data/lib/masterview/directives/elsif.rb +26 -0
  17. data/lib/masterview/directives/form.rb +19 -0
  18. data/lib/masterview/directives/global_inline_erb.rb +39 -0
  19. data/lib/masterview/directives/hidden_field.rb +31 -0
  20. data/lib/masterview/directives/if.rb +24 -0
  21. data/lib/masterview/directives/insert_generated_comment.rb +30 -0
  22. data/lib/masterview/directives/javascript_include.rb +15 -0
  23. data/lib/masterview/directives/link_to.rb +17 -0
  24. data/lib/masterview/directives/link_to_if.rb +21 -0
  25. data/lib/masterview/directives/link_to_remote.rb +17 -0
  26. data/lib/masterview/directives/password_field.rb +33 -0
  27. data/lib/masterview/directives/preview.rb +10 -0
  28. data/lib/masterview/directives/replace.rb +18 -0
  29. data/lib/masterview/directives/stylesheet_link.rb +14 -0
  30. data/lib/masterview/directives/submit.rb +14 -0
  31. data/lib/masterview/directives/testfilter.rb +55 -0
  32. data/lib/masterview/directives/text_area.rb +34 -0
  33. data/lib/masterview/directives/text_field.rb +33 -0
  34. data/lib/masterview/extras/rails_init.rb +67 -0
  35. data/lib/masterview/extras/watcher.rb +30 -0
  36. data/lib/masterview/masterview_version.rb +9 -0
  37. data/lib/masterview/parser.rb +585 -0
  38. data/lib/masterview/plugin_load_tracking.rb +41 -0
  39. data/lib/masterview/runtime_helpers.rb +9 -0
  40. data/lib/masterview/string_extensions.rb +15 -0
  41. data/lib/masterview.rb +129 -0
  42. data/test/block_test.rb +47 -0
  43. data/test/content_test.rb +26 -0
  44. data/test/else_test.rb +31 -0
  45. data/test/elsif_test.rb +31 -0
  46. data/test/example_test.rb +11 -0
  47. data/test/filter_helpers_test.rb +142 -0
  48. data/test/form_test.rb +66 -0
  49. data/test/global_inline_erb_test.rb +30 -0
  50. data/test/hidden_field_test.rb +62 -0
  51. data/test/if_test.rb +23 -0
  52. data/test/javascript_include_test.rb +26 -0
  53. data/test/link_to_if_test.rb +27 -0
  54. data/test/link_to_test.rb +52 -0
  55. data/test/parser_test.rb +166 -0
  56. data/test/password_field_test.rb +89 -0
  57. data/test/replace_test.rb +27 -0
  58. data/test/run_parser_test.rb +27 -0
  59. data/test/stylesheet_link_test.rb +26 -0
  60. data/test/submit_test.rb +54 -0
  61. data/test/template_file_watcher_test.rb +50 -0
  62. data/test/template_test.rb +181 -0
  63. data/test/test_helper.rb +24 -0
  64. data/test/text_area_test.rb +81 -0
  65. data/test/text_field_test.rb +89 -0
  66. metadata +71 -11
@@ -0,0 +1,24 @@
1
+ require 'test/unit'
2
+ require 'test/unit/assertions'
3
+ currentPath = File.dirname(__FILE__)
4
+ require File.join( currentPath, '../lib/masterview' )
5
+
6
+ MasterView::OmitGeneratedComments = true #turn off the generated comments to make it easier for us to test
7
+
8
+ module Test
9
+ module Unit
10
+ module Assertions
11
+ def assert_template_result(expected, template, options={}, message=nil)
12
+ output_hash = {}
13
+ full_options = options.merge( { :serializer => MasterView::HashSerializer.new(output_hash) } )
14
+ MasterView::Parser.parse(template, full_options)
15
+ output_hash.each do |key,value|
16
+ value.gsub!( /([^=]>)\s+/, '\1' ) #remove whitespace after tag but not =>
17
+ value.gsub!( /(\s{2,}|\n\s*)/, ' ') #change double space or newline and spaces into single space
18
+ end
19
+ assert_equal expected, output_hash, message
20
+ end
21
+ end
22
+ end
23
+ end
24
+
@@ -0,0 +1,81 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'test/unit'
4
+ currentPath = File.dirname(__FILE__)
5
+ require File.join( currentPath, '../lib/masterview' )
6
+ require File.join( currentPath, '../lib/masterview/directives/text_area')
7
+
8
+ class TestTextArea < Test::Unit::TestCase
9
+ include MasterView::Directives
10
+
11
+ def setup
12
+ @directives = MasterView::DirectiveSet.new
13
+ end
14
+
15
+ def text_area_exec(obj, method, other, options)
16
+ attr_value = "#{obj}, #{method}"
17
+ attr_value << ', ' << other unless other.nil?
18
+ tag = MasterView::Tag.new(@directives, 'input', options, :normal, nil)
19
+ @directives.directives = []
20
+ @directives << Text_area.new(attr_value)
21
+ assert_equal nil, @directives.determine_dcs(:stag).render
22
+ dcs = @directives.determine_dcs(:etag)
23
+ dcs.context = tag.create_context
24
+ dcs.context[:tag].content = "hello world"
25
+ dcs.render
26
+ end
27
+
28
+ def test_normal
29
+ obj = ':product'
30
+ method = ':price'
31
+ ret = text_area_exec(obj, method, nil, {} )
32
+ assert_equal "<%= text_area #{obj}, #{method} %>", ret
33
+ end
34
+
35
+ def test_extra
36
+ obj = ':product'
37
+ method = ':price'
38
+ ret = text_area_exec(obj, method, "'more', 'stuff'", { 'type' => 'text', 'value' => 'fake text' } )
39
+ assert_equal "<%= text_area #{obj}, #{method} %>", ret
40
+ end
41
+
42
+ def test_rows
43
+ obj = ':product'
44
+ method = ':price'
45
+ ret = text_area_exec(obj, method, nil, { 'rows' => '4'} )
46
+ assert_equal "<%= text_area #{obj}, #{method}, :rows => 4 %>", ret
47
+ end
48
+
49
+ def test_cols
50
+ obj = ':product'
51
+ method = ':price'
52
+ ret = text_area_exec(obj, method, nil, { 'cols' => 6 } )
53
+ assert_equal "<%= text_area #{obj}, #{method}, :cols => 6 %>", ret
54
+ end
55
+
56
+ def test_all
57
+ obj = ':product'
58
+ method = ':price'
59
+ ret = text_area_exec(obj, method, nil,
60
+ {
61
+ 'rows' => 4, 'cols' => 6, 'disabled' => 'disabled',
62
+ 'readonly' => 'readonly', 'class' => 'classfoo', 'style' => 'stylebar',
63
+ 'tabindex' => 'tab1', 'accesskey' => 'ak2'
64
+ } )
65
+ assert_equal "<%= text_area #{obj}, #{method}, :accesskey => \"ak2\", :class => \"classfoo\", :cols => 6, :disabled => true, :readonly => true, :rows => 4, :style => \"stylebar\", :tabindex => \"tab1\" %>", ret
66
+ end
67
+
68
+ def test_all_uc
69
+ obj = ':product'
70
+ method = ':price'
71
+ ret = text_area_exec(obj, method, nil,
72
+ {
73
+ 'ROWS' => 4, 'COLS' => 6, 'DISABLED' => 'DISABLED',
74
+ 'READONLY' => 'readonly', 'CLASS' => 'classfoo', 'STYLE' => 'stylebar',
75
+ 'TABINDEX' => 'tab1', 'ACCESSKEY' => 'ak2'
76
+ } )
77
+ assert_equal "<%= text_area #{obj}, #{method}, :accesskey => \"ak2\", :class => \"classfoo\", :cols => 6, :disabled => true, :readonly => true, :rows => 4, :style => \"stylebar\", :tabindex => \"tab1\" %>", ret
78
+ end
79
+
80
+
81
+ end
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'test/unit'
4
+ currentPath = File.dirname(__FILE__)
5
+ require File.join( currentPath, '../lib/masterview' )
6
+ require File.join( currentPath, '../lib/masterview/directives/text_field')
7
+
8
+ class TestTextField < Test::Unit::TestCase
9
+ include MasterView::Directives
10
+
11
+ def setup
12
+ @directives = MasterView::DirectiveSet.new
13
+ end
14
+
15
+ def text_field_exec(obj, method, other, options)
16
+ attr_value = "#{obj}, #{method}"
17
+ attr_value << ', ' << other unless other.nil?
18
+ tag = MasterView::Tag.new(@directives, 'input', options, :normal, nil)
19
+ @directives.directives = []
20
+ @directives << Text_field.new(attr_value)
21
+ assert_equal nil, @directives.determine_dcs(:stag).render
22
+ dcs = @directives.determine_dcs(:etag)
23
+ dcs.context = tag.create_context
24
+ dcs.context[:tag].content = "hello world"
25
+ dcs.render
26
+ end
27
+
28
+ def test_normal
29
+ obj = ':product'
30
+ method = ':price'
31
+ ret = text_field_exec(obj, method, nil, { 'type' => 'text', 'value' => 'fake text' } )
32
+ assert_equal "<%= text_field #{obj}, #{method} %>", ret
33
+ end
34
+
35
+ def test_extra
36
+ obj = ':product'
37
+ method = ':price'
38
+ ret = text_field_exec(obj, method, "'more', 'stuff'", { 'type' => 'text', 'value' => 'fake text' } )
39
+ assert_equal "<%= text_field #{obj}, #{method} %>", ret
40
+ end
41
+
42
+ def test_disabled
43
+ obj = ':product'
44
+ method = ':price'
45
+ ret = text_field_exec(obj, method, nil, { 'type' => 'text', 'value' => 'fake text', 'disabled' => 'disabled'} )
46
+ assert_equal "<%= text_field #{obj}, #{method}, :disabled => true %>", ret
47
+ end
48
+
49
+ def test_size
50
+ obj = ':product'
51
+ method = ':price'
52
+ ret = text_field_exec(obj, method, nil, { 'type' => 'text', 'value' => 'fake text', 'size' => '10' } )
53
+ assert_equal "<%= text_field #{obj}, #{method}, :size => 10 %>", ret
54
+ end
55
+
56
+ def test_maxlength
57
+ obj = ':product'
58
+ method = ':price'
59
+ ret = text_field_exec(obj, method, nil, { 'type' => 'text', 'value' => 'fake text', 'maxlength' => '21' } )
60
+ assert_equal "<%= text_field #{obj}, #{method}, :maxlength => 21 %>", ret
61
+ end
62
+
63
+ def test_all
64
+ obj = ':product'
65
+ method = ':price'
66
+ ret = text_field_exec(obj, method, nil,
67
+ {
68
+ 'type' => 'text', 'value' => 'fake text', 'disabled' => 'disabled',
69
+ 'size' => '10', 'maxlength' => '21',
70
+ 'readonly' => 'readonly', 'class' => 'classfoo', 'style' => 'stylebar',
71
+ 'tabindex' => 'tab1', 'accesskey' => 'ak2'
72
+ } )
73
+ assert_equal "<%= text_field #{obj}, #{method}, :accesskey => \"ak2\", :class => \"classfoo\", :disabled => true, :maxlength => 21, :readonly => true, :size => 10, :style => \"stylebar\", :tabindex => \"tab1\" %>", ret
74
+ end
75
+
76
+ def test_all_uc
77
+ obj = ':product'
78
+ method = ':price'
79
+ ret = text_field_exec(obj, method, nil,
80
+ {
81
+ 'type' => 'text', 'value' => 'fake text', 'DISABLED' => 'DISABLED',
82
+ 'SIZE' => '10', 'MAXLENGTH' => '21',
83
+ 'READONLY' => 'readonly', 'CLASS' => 'classfoo', 'STYLE' => 'stylebar',
84
+ 'TABINDEX' => 'tab1', 'ACCESSKEY' => 'ak2'
85
+ } )
86
+ assert_equal "<%= text_field #{obj}, #{method}, :accesskey => \"ak2\", :class => \"classfoo\", :disabled => true, :maxlength => 21, :readonly => true, :size => 10, :style => \"stylebar\", :tabindex => \"tab1\" %>", ret
87
+ end
88
+
89
+ end
metadata CHANGED
@@ -3,7 +3,7 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: masterview
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.6
6
+ version: 0.0.7
7
7
  date: 2006-04-18 00:00:00 -05:00
8
8
  summary: A (x)html friendly template engine for rails with the power of layouts, and partials. Main gem which requires all others
9
9
  require_paths:
@@ -12,7 +12,7 @@ email: jeff.barczewski@gmail.com
12
12
  homepage: http://masterview.org/
13
13
  rubyforge_project:
14
14
  description:
15
- autorequire:
15
+ autorequire: masterview
16
16
  default_executable:
17
17
  bindir: bin
18
18
  has_rdoc: true
@@ -28,11 +28,80 @@ cert_chain:
28
28
  authors:
29
29
  - Jeff Barczewski
30
30
  files:
31
+ - lib/masterview
32
+ - lib/masterview.rb
33
+ - lib/facets
34
+ - lib/masterview/directives
35
+ - lib/masterview/extras
36
+ - lib/masterview/directive_base.rb
37
+ - lib/masterview/masterview_version.rb
38
+ - lib/masterview/parser.rb
39
+ - lib/masterview/plugin_load_tracking.rb
40
+ - lib/masterview/runtime_helpers.rb
41
+ - lib/masterview/string_extensions.rb
42
+ - lib/masterview/directive_helpers.rb
43
+ - lib/masterview/directives/block.rb
44
+ - lib/masterview/directives/content.rb
45
+ - lib/masterview/directives/else.rb
46
+ - lib/masterview/directives/elsif.rb
47
+ - lib/masterview/directives/form.rb
48
+ - lib/masterview/directives/global_inline_erb.rb
49
+ - lib/masterview/directives/hidden_field.rb
50
+ - lib/masterview/directives/if.rb
51
+ - lib/masterview/directives/javascript_include.rb
52
+ - lib/masterview/directives/link_to.rb
53
+ - lib/masterview/directives/link_to_if.rb
54
+ - lib/masterview/directives/link_to_remote.rb
55
+ - lib/masterview/directives/password_field.rb
56
+ - lib/masterview/directives/preview.rb
57
+ - lib/masterview/directives/replace.rb
58
+ - lib/masterview/directives/stylesheet_link.rb
59
+ - lib/masterview/directives/testfilter.rb
60
+ - lib/masterview/directives/text_area.rb
61
+ - lib/masterview/directives/text_field.rb
62
+ - lib/masterview/directives/submit.rb
63
+ - lib/masterview/directives/insert_generated_comment.rb
64
+ - lib/masterview/extras/rails_init.rb
65
+ - lib/masterview/extras/watcher.rb
66
+ - lib/facets/README
67
+ - lib/facets/ProjectInfo
68
+ - lib/facets/COPYING
69
+ - lib/facets/CHANGELOG
70
+ - lib/facets/AUTHORS
71
+ - lib/facets/core/string
72
+ - lib/facets/core/string/starts_with.rb
73
+ - lib/facets/core/string/indent.rb
74
+ - lib/facets/core/string/blank.rb
75
+ - test/block_test.rb
76
+ - test/content_test.rb
77
+ - test/else_test.rb
78
+ - test/elsif_test.rb
79
+ - test/example_test.rb
80
+ - test/filter_helpers_test.rb
81
+ - test/form_test.rb
82
+ - test/global_inline_erb_test.rb
83
+ - test/hidden_field_test.rb
84
+ - test/if_test.rb
85
+ - test/javascript_include_test.rb
86
+ - test/link_to_if_test.rb
87
+ - test/link_to_test.rb
88
+ - test/parser_test.rb
89
+ - test/password_field_test.rb
90
+ - test/replace_test.rb
91
+ - test/run_parser_test.rb
92
+ - test/stylesheet_link_test.rb
93
+ - test/submit_test.rb
94
+ - test/template_file_watcher_test.rb
95
+ - test/template_test.rb
96
+ - test/test_helper.rb
97
+ - test/text_area_test.rb
98
+ - test/text_field_test.rb
31
99
  - CHANGELOG
32
100
  - MIT-LICENSE
33
101
  - Rakefile
34
102
  - README
35
103
  - RELEASE_NOTES
104
+ - init.rb
36
105
  test_files: []
37
106
 
38
107
  rdoc_options: []
@@ -46,15 +115,6 @@ extensions: []
46
115
  requirements: []
47
116
 
48
117
  dependencies:
49
- - !ruby/object:Gem::Dependency
50
- name: masterview_parser
51
- version_requirement:
52
- version_requirements: !ruby/object:Gem::Version::Requirement
53
- requirements:
54
- - - ">"
55
- - !ruby/object:Gem::Version
56
- version: 0.0.0
57
- version:
58
118
  - !ruby/object:Gem::Dependency
59
119
  name: masterview_generator
60
120
  version_requirement: