Class: JsonTest
- Inherits:
-
Test::Unit::TestCase
- Object
- Test::Unit::TestCase
- JsonTest
show all
- Defined in:
- lib/puppet/vendor/rgen/test/json_test.rb
Defined Under Namespace
Modules: TestMM, TestMMData, TestMMSubpackage
Classes: StringWriter
Instance Method Summary
collapse
Instance Method Details
#test_json_instantiator ⇒ Object
58
59
60
61
62
63
64
65
66
67
68
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 58
def test_json_instantiator
env = RGen::Environment.new
inst = RGen::Instantiator::JsonInstantiator.new(env, TestMM)
inst.instantiate(%q({ "_class": "TestNode", "text": "some text", "childs": [
{ "_class": "TestNode", "text": "child" }] }))
root = env.find(:class => TestMM::TestNode, :text => "some text").first
assert_not_nil root
assert_equal 1, root.childs.size
assert_equal TestMM::TestNode, root.childs.first.class
assert_equal "child", root.childs.first.text
end
|
#test_json_instantiator_builtin_in_subpackage ⇒ Object
135
136
137
138
139
140
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 135
def test_json_instantiator_builtin_in_subpackage
env = RGen::Environment.new
inst = RGen::Instantiator::JsonInstantiator.new(env, TestMMSubpackage)
inst.instantiate(%q({ "_class": "Data", "notTheBuiltin": "for sure" }))
assert_equal "for sure", env.elements.first.notTheBuiltin
end
|
#test_json_instantiator_conflict_builtin ⇒ Object
121
122
123
124
125
126
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 121
def test_json_instantiator_conflict_builtin
env = RGen::Environment.new
inst = RGen::Instantiator::JsonInstantiator.new(env, TestMMData)
inst.instantiate(%q({ "_class": "Data", "notTheBuiltin": "for sure" }))
assert_equal "for sure", env.elements.first.notTheBuiltin
end
|
#test_json_instantiator_escape_single_backslash ⇒ Object
86
87
88
89
90
91
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 86
def test_json_instantiator_escape_single_backslash
env = RGen::Environment.new
inst = RGen::Instantiator::JsonInstantiator.new(env, TestMM)
inst.instantiate(%q({ "_class": "TestNode", "text": "a single \\ will be just itself" }))
assert_equal %q(a single \\ will be just itself), env.elements.first.text
end
|
#test_json_instantiator_escapes ⇒ Object
79
80
81
82
83
84
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 79
def test_json_instantiator_escapes
env = RGen::Environment.new
inst = RGen::Instantiator::JsonInstantiator.new(env, TestMM)
inst.instantiate(%q({ "_class": "TestNode", "text": "some \" \\\\ \\\\\" text \r xx \n xx \r\n xx \t xx \b xx \f" }))
assert_equal %Q(some " \\ \\" text \r xx \n xx \r\n xx \t xx \b xx \f), env.elements.first.text
end
|
#test_json_instantiator_float ⇒ Object
114
115
116
117
118
119
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 114
def test_json_instantiator_float
env = RGen::Environment.new
inst = RGen::Instantiator::JsonInstantiator.new(env, TestMM)
inst.instantiate(%q({ "_class": "TestNode", "float": 1.23 }))
assert_equal 1.23, env.elements.first.float
end
|
#test_json_instantiator_integer ⇒ Object
100
101
102
103
104
105
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 100
def test_json_instantiator_integer
env = RGen::Environment.new
inst = RGen::Instantiator::JsonInstantiator.new(env, TestMM)
inst.instantiate(%q({ "_class": "TestNode", "integer": 7 }))
assert_equal 7, env.elements.first.integer
end
|
#test_json_instantiator_references ⇒ Object
157
158
159
160
161
162
163
164
165
166
167
168
169
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 157
def test_json_instantiator_references
env = RGen::Environment.new
inst = RGen::Instantiator::JsonInstantiator.new(env, TestMM, :nameAttribute => "text")
inst.instantiate(%q([
{ "_class": "TestNode", "text": "A", "childs": [
{ "_class": "TestNode", "text": "B" } ]},
{ "_class": "TestNode", "text": "C", "other": "/A/B"}]
))
nodeA = env.find(:class => TestMM::TestNode, :text => "A").first
nodeC = env.find(:class => TestMM::TestNode, :text => "C").first
assert_equal 1, nodeA.childs.size
assert_equal nodeA.childs[0], nodeC.other
end
|
#test_json_instantiator_subpackage ⇒ Object
142
143
144
145
146
147
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 142
def test_json_instantiator_subpackage
env = RGen::Environment.new
inst = RGen::Instantiator::JsonInstantiator.new(env, TestMMSubpackage)
inst.instantiate(%q({ "_class": "Data2", "data2": "something" }))
assert_equal "something", env.elements.first.data2
end
|
#test_json_instantiator_subpackage_no_shortname_opt ⇒ Object
149
150
151
152
153
154
155
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 149
def test_json_instantiator_subpackage_no_shortname_opt
env = RGen::Environment.new
inst = RGen::Instantiator::JsonInstantiator.new(env, TestMMSubpackage, :short_class_names => false)
assert_raise RuntimeError do
inst.instantiate(%q({ "_class": "Data2", "data2": "something" }))
end
end
|
#test_json_serializer ⇒ Object
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 47
def test_json_serializer
testModel = TestMM::TestNode.new(:text => "some text", :childs => [
TestMM::TestNode.new(:text => "child")])
output = StringWriter.new
ser = RGen::Serializer::JsonSerializer.new(output)
assert_equal %q({ "_class": "TestNode", "text": "some text", "childs": [
{ "_class": "TestNode", "text": "child" }] }), ser.serialize(testModel)
end
|
#test_json_serializer_escapes ⇒ Object
70
71
72
73
74
75
76
77
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 70
def test_json_serializer_escapes
testModel = TestMM::TestNode.new(:text => %Q(some " \\ \\" text \r xx \n xx \r\n xx \t xx \b xx \f))
output = StringWriter.new
ser = RGen::Serializer::JsonSerializer.new(output)
assert_equal %q({ "_class": "TestNode", "text": "some \" \\\\ \\\\\" text \r xx \n xx \r\n xx \t xx \b xx \f" }),
ser.serialize(testModel)
end
|
#test_json_serializer_float ⇒ Object
107
108
109
110
111
112
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 107
def test_json_serializer_float
testModel = TestMM::TestNode.new(:float => 1.23)
output = StringWriter.new
ser = RGen::Serializer::JsonSerializer.new(output)
assert_equal %q({ "_class": "TestNode", "float": 1.23 }), ser.serialize(testModel)
end
|
#test_json_serializer_integer ⇒ Object
93
94
95
96
97
98
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 93
def test_json_serializer_integer
testModel = TestMM::TestNode.new(:integer => 7)
output = StringWriter.new
ser = RGen::Serializer::JsonSerializer.new(output)
assert_equal %q({ "_class": "TestNode", "integer": 7 }), ser.serialize(testModel)
end
|
#test_json_serializer_subpacakge ⇒ Object
128
129
130
131
132
133
|
# File 'lib/puppet/vendor/rgen/test/json_test.rb', line 128
def test_json_serializer_subpacakge
testModel = TestMMSubpackage::SubPackage::Data2.new(:data2 => "xxx")
output = StringWriter.new
ser = RGen::Serializer::JsonSerializer.new(output)
assert_equal %q({ "_class": "Data2", "data2": "xxx" }), ser.serialize(testModel)
end
|