masterview 0.0.2
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/CHANGELOG +1 -0
- data/MIT-LICENSE +20 -0
- data/README +574 -0
- data/Rakefile +149 -0
- data/generators/masterview/USAGE +32 -0
- data/generators/masterview/masterview_generator.rb +277 -0
- data/generators/masterview/templates/controller.rb +50 -0
- data/generators/masterview/templates/fields_scaffold.rhtml +1 -0
- data/generators/masterview/templates/form_scaffold.rhtml +3 -0
- data/generators/masterview/templates/functional_test.rb +83 -0
- data/generators/masterview/templates/helper.rb +2 -0
- data/generators/masterview/templates/layout.rhtml +11 -0
- data/generators/masterview/templates/list_head_scaffold.rhtml +4 -0
- data/generators/masterview/templates/list_line_scaffold.rhtml +6 -0
- data/generators/masterview/templates/masterview.rhtml +182 -0
- data/generators/masterview/templates/mvpreview.js +31 -0
- data/generators/masterview/templates/semantic.cache +84 -0
- data/generators/masterview/templates/show_scaffold.rhtml +3 -0
- data/generators/masterview/templates/style.css +61 -0
- data/generators/masterview_gem_plugin/masterview_gem_plugin_generator.rb +21 -0
- data/generators/masterview_gem_plugin/templates/init.rb +43 -0
- data/init.rb +43 -0
- data/lib/masterview/directive_base.rb +163 -0
- data/lib/masterview/directive_helpers.rb +176 -0
- data/lib/masterview/directives/block.rb +30 -0
- data/lib/masterview/directives/content.rb +10 -0
- data/lib/masterview/directives/else.rb +25 -0
- data/lib/masterview/directives/elsif.rb +26 -0
- data/lib/masterview/directives/form.rb +19 -0
- data/lib/masterview/directives/global_inline_erb.rb +39 -0
- data/lib/masterview/directives/hidden_field.rb +31 -0
- data/lib/masterview/directives/if.rb +24 -0
- data/lib/masterview/directives/insert_generated_comment.rb +30 -0
- data/lib/masterview/directives/javascript_include.rb +15 -0
- data/lib/masterview/directives/link_to.rb +17 -0
- data/lib/masterview/directives/link_to_if.rb +21 -0
- data/lib/masterview/directives/link_to_remote.rb +17 -0
- data/lib/masterview/directives/password_field.rb +33 -0
- data/lib/masterview/directives/preview.rb +10 -0
- data/lib/masterview/directives/replace.rb +18 -0
- data/lib/masterview/directives/stylesheet_link.rb +14 -0
- data/lib/masterview/directives/submit.rb +14 -0
- data/lib/masterview/directives/testfilter.rb +55 -0
- data/lib/masterview/directives/text_area.rb +34 -0
- data/lib/masterview/directives/text_field.rb +33 -0
- data/lib/masterview/extras/rails_init.rb +67 -0
- data/lib/masterview/extras/watcher.rb +30 -0
- data/lib/masterview/masterview_version.rb +9 -0
- data/lib/masterview/parser.rb +585 -0
- data/lib/masterview/plugin_load_tracking.rb +41 -0
- data/lib/masterview/runtime_helpers.rb +9 -0
- data/lib/masterview/string_extensions.rb +15 -0
- data/lib/masterview.rb +130 -0
- data/test/block_test.rb +47 -0
- data/test/content_test.rb +26 -0
- data/test/else_test.rb +31 -0
- data/test/elsif_test.rb +31 -0
- data/test/example_test.rb +11 -0
- data/test/filter_helpers_test.rb +142 -0
- data/test/form_test.rb +66 -0
- data/test/global_inline_erb_test.rb +30 -0
- data/test/hidden_field_test.rb +62 -0
- data/test/if_test.rb +23 -0
- data/test/javascript_include_test.rb +26 -0
- data/test/link_to_if_test.rb +27 -0
- data/test/link_to_test.rb +52 -0
- data/test/parser_test.rb +166 -0
- data/test/password_field_test.rb +89 -0
- data/test/replace_test.rb +27 -0
- data/test/run_parser_test.rb +27 -0
- data/test/stylesheet_link_test.rb +26 -0
- data/test/submit_test.rb +54 -0
- data/test/template_file_watcher_test.rb +50 -0
- data/test/template_test.rb +181 -0
- data/test/test_helper.rb +24 -0
- data/test/text_area_test.rb +81 -0
- data/test/text_field_test.rb +89 -0
- metadata +136 -0
data/test/test_helper.rb
ADDED
@@ -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
ADDED
@@ -0,0 +1,136 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
rubygems_version: 0.8.11
|
3
|
+
specification_version: 1
|
4
|
+
name: masterview
|
5
|
+
version: !ruby/object:Gem::Version
|
6
|
+
version: 0.0.2
|
7
|
+
date: 2006-04-17 00:00:00 -05:00
|
8
|
+
summary: A (x)html friendly template engine for rails with the power of layouts, and partials
|
9
|
+
require_paths:
|
10
|
+
- lib
|
11
|
+
email: jeff.barczewski@gmail.com
|
12
|
+
homepage: http://masterview.org/
|
13
|
+
rubyforge_project:
|
14
|
+
description:
|
15
|
+
autorequire: masterview
|
16
|
+
default_executable:
|
17
|
+
bindir: bin
|
18
|
+
has_rdoc: true
|
19
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.0
|
24
|
+
version:
|
25
|
+
platform: ruby
|
26
|
+
signing_key:
|
27
|
+
cert_chain:
|
28
|
+
authors:
|
29
|
+
- Jeff Barczewski
|
30
|
+
files:
|
31
|
+
- lib/masterview
|
32
|
+
- lib/masterview.rb
|
33
|
+
- lib/masterview/directives
|
34
|
+
- lib/masterview/extras
|
35
|
+
- lib/masterview/directive_base.rb
|
36
|
+
- lib/masterview/masterview_version.rb
|
37
|
+
- lib/masterview/parser.rb
|
38
|
+
- lib/masterview/plugin_load_tracking.rb
|
39
|
+
- lib/masterview/runtime_helpers.rb
|
40
|
+
- lib/masterview/string_extensions.rb
|
41
|
+
- lib/masterview/directive_helpers.rb
|
42
|
+
- lib/masterview/directives/block.rb
|
43
|
+
- lib/masterview/directives/content.rb
|
44
|
+
- lib/masterview/directives/else.rb
|
45
|
+
- lib/masterview/directives/elsif.rb
|
46
|
+
- lib/masterview/directives/form.rb
|
47
|
+
- lib/masterview/directives/global_inline_erb.rb
|
48
|
+
- lib/masterview/directives/hidden_field.rb
|
49
|
+
- lib/masterview/directives/if.rb
|
50
|
+
- lib/masterview/directives/javascript_include.rb
|
51
|
+
- lib/masterview/directives/link_to.rb
|
52
|
+
- lib/masterview/directives/link_to_if.rb
|
53
|
+
- lib/masterview/directives/link_to_remote.rb
|
54
|
+
- lib/masterview/directives/password_field.rb
|
55
|
+
- lib/masterview/directives/preview.rb
|
56
|
+
- lib/masterview/directives/replace.rb
|
57
|
+
- lib/masterview/directives/stylesheet_link.rb
|
58
|
+
- lib/masterview/directives/testfilter.rb
|
59
|
+
- lib/masterview/directives/text_area.rb
|
60
|
+
- lib/masterview/directives/text_field.rb
|
61
|
+
- lib/masterview/directives/submit.rb
|
62
|
+
- lib/masterview/directives/insert_generated_comment.rb
|
63
|
+
- lib/masterview/extras/rails_init.rb
|
64
|
+
- lib/masterview/extras/watcher.rb
|
65
|
+
- generators/masterview
|
66
|
+
- generators/masterview_gem_plugin
|
67
|
+
- generators/masterview/masterview_generator.rb
|
68
|
+
- generators/masterview/templates
|
69
|
+
- generators/masterview/USAGE
|
70
|
+
- generators/masterview/templates/controller.rb
|
71
|
+
- generators/masterview/templates/fields_scaffold.rhtml
|
72
|
+
- generators/masterview/templates/form_scaffold.rhtml
|
73
|
+
- generators/masterview/templates/functional_test.rb
|
74
|
+
- generators/masterview/templates/helper.rb
|
75
|
+
- generators/masterview/templates/layout.rhtml
|
76
|
+
- generators/masterview/templates/list_head_scaffold.rhtml
|
77
|
+
- generators/masterview/templates/list_line_scaffold.rhtml
|
78
|
+
- generators/masterview/templates/masterview.rhtml
|
79
|
+
- generators/masterview/templates/mvpreview.js
|
80
|
+
- generators/masterview/templates/semantic.cache
|
81
|
+
- generators/masterview/templates/show_scaffold.rhtml
|
82
|
+
- generators/masterview/templates/style.css
|
83
|
+
- generators/masterview_gem_plugin/templates
|
84
|
+
- generators/masterview_gem_plugin/masterview_gem_plugin_generator.rb
|
85
|
+
- generators/masterview_gem_plugin/templates/init.rb
|
86
|
+
- test/block_test.rb
|
87
|
+
- test/content_test.rb
|
88
|
+
- test/else_test.rb
|
89
|
+
- test/elsif_test.rb
|
90
|
+
- test/example_test.rb
|
91
|
+
- test/filter_helpers_test.rb
|
92
|
+
- test/form_test.rb
|
93
|
+
- test/global_inline_erb_test.rb
|
94
|
+
- test/hidden_field_test.rb
|
95
|
+
- test/if_test.rb
|
96
|
+
- test/javascript_include_test.rb
|
97
|
+
- test/link_to_if_test.rb
|
98
|
+
- test/link_to_test.rb
|
99
|
+
- test/parser_test.rb
|
100
|
+
- test/password_field_test.rb
|
101
|
+
- test/replace_test.rb
|
102
|
+
- test/run_parser_test.rb
|
103
|
+
- test/stylesheet_link_test.rb
|
104
|
+
- test/submit_test.rb
|
105
|
+
- test/template_file_watcher_test.rb
|
106
|
+
- test/template_test.rb
|
107
|
+
- test/test_helper.rb
|
108
|
+
- test/text_area_test.rb
|
109
|
+
- test/text_field_test.rb
|
110
|
+
- CHANGELOG
|
111
|
+
- MIT-LICENSE
|
112
|
+
- Rakefile
|
113
|
+
- README
|
114
|
+
- init.rb
|
115
|
+
test_files: []
|
116
|
+
|
117
|
+
rdoc_options: []
|
118
|
+
|
119
|
+
extra_rdoc_files: []
|
120
|
+
|
121
|
+
executables: []
|
122
|
+
|
123
|
+
extensions: []
|
124
|
+
|
125
|
+
requirements: []
|
126
|
+
|
127
|
+
dependencies:
|
128
|
+
- !ruby/object:Gem::Dependency
|
129
|
+
name: facets
|
130
|
+
version_requirement:
|
131
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
132
|
+
requirements:
|
133
|
+
- - ">"
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: 0.0.0
|
136
|
+
version:
|