Class: JsonTest
- Defined in:
- lib/puppet/vendor/rgen/test/json_test.rb
Defined Under Namespace
Modules: TestMM, TestMMData, TestMMSubpackage Classes: StringWriter
Instance Method Summary collapse
- #test_json_instantiator ⇒ Object
- #test_json_instantiator_builtin_in_subpackage ⇒ Object
- #test_json_instantiator_conflict_builtin ⇒ Object
- #test_json_instantiator_escape_single_backslash ⇒ Object
- #test_json_instantiator_escapes ⇒ Object
- #test_json_instantiator_float ⇒ Object
- #test_json_instantiator_integer ⇒ Object
- #test_json_instantiator_references ⇒ Object
- #test_json_instantiator_subpackage ⇒ Object
- #test_json_instantiator_subpackage_no_shortname_opt ⇒ Object
- #test_json_serializer ⇒ Object
- #test_json_serializer_escapes ⇒ Object
- #test_json_serializer_float ⇒ Object
- #test_json_serializer_integer ⇒ Object
- #test_json_serializer_subpacakge ⇒ Object
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 |