sdl4r 0.9.6 → 0.9.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 (45) hide show
  1. data/CHANGELOG +49 -2
  2. data/Rakefile +35 -5
  3. data/TODO +29 -3
  4. data/doc/classes/SDL4R.html +386 -674
  5. data/doc/classes/SDL4R/Parser.html +183 -307
  6. data/doc/classes/SDL4R/ParserTest.html +357 -0
  7. data/doc/classes/SDL4R/SDL4RTest.html +532 -0
  8. data/doc/classes/SDL4R/SDLTest.html +77 -0
  9. data/doc/classes/SDL4R/SdlBinary.html +180 -295
  10. data/doc/classes/SDL4R/SdlParseError.html +105 -180
  11. data/doc/classes/SDL4R/SdlTimeSpan.html +628 -939
  12. data/doc/classes/SDL4R/Tag.html +1236 -2036
  13. data/doc/classes/SDL4R/TagTest.html +292 -0
  14. data/doc/created.rid +1 -1
  15. data/doc/files/CHANGELOG.html +183 -184
  16. data/doc/files/LICENSE.html +496 -755
  17. data/doc/files/README.html +399 -623
  18. data/doc/files/lib/sdl4r/parser/reader_rb.html +53 -106
  19. data/doc/files/lib/sdl4r/parser/time_span_with_zone_rb.html +53 -106
  20. data/doc/files/lib/sdl4r/parser/token_rb.html +53 -106
  21. data/doc/files/lib/sdl4r/parser/tokenizer_rb.html +53 -106
  22. data/doc/files/lib/sdl4r/parser_rb.html +60 -112
  23. data/doc/files/lib/sdl4r/sdl4r_rb.html +62 -114
  24. data/doc/files/lib/sdl4r/sdl_binary_rb.html +53 -106
  25. data/doc/files/lib/sdl4r/sdl_parse_error_rb.html +53 -106
  26. data/doc/files/lib/sdl4r/sdl_time_span_rb.html +53 -106
  27. data/doc/files/lib/sdl4r/tag_rb.html +62 -114
  28. data/doc/files/lib/sdl4r_rb.html +53 -106
  29. data/doc/files/test/sdl4r/parser_test_rb.html +63 -0
  30. data/doc/files/test/sdl4r/sdl4r_test_rb.html +66 -0
  31. data/doc/files/test/sdl4r/sdl_test_rb.html +63 -0
  32. data/doc/files/test/sdl4r/tag_test_rb.html +63 -0
  33. data/doc/fr_class_index.html +19 -32
  34. data/doc/fr_file_index.html +37 -40
  35. data/doc/fr_method_index.html +4707 -114
  36. data/doc/index.html +14 -23
  37. data/doc/rdoc-style.css +323 -203
  38. data/lib/sdl4r/parser/reader.rb +26 -19
  39. data/lib/sdl4r/parser/token.rb +3 -3
  40. data/lib/sdl4r/parser/tokenizer.rb +93 -98
  41. data/lib/sdl4r/sdl_parse_error.rb +2 -2
  42. data/lib/sdl4r/tag.rb +127 -73
  43. data/test/sdl4r/parser_test.rb +109 -11
  44. data/test/sdl4r/tag_test.rb +73 -4
  45. metadata +15 -12
@@ -65,6 +65,26 @@ module SDL4R
65
65
  end
66
66
  assert_equal "tag2", tag.name
67
67
  assert_equal "ns2", tag.namespace
68
+
69
+ # check the block idiom with parameter
70
+ tag = Tag.new("ns1", "tag1") do |t|
71
+ t.name = "tag2"
72
+ t.namespace = "ns2"
73
+ t << self.class.name # self should be the test instance
74
+ end
75
+ assert_equal "tag2", tag.name
76
+ assert_equal "ns2", tag.namespace
77
+ assert_equal self.class.name, tag.value
78
+
79
+ # check the same block+parameter idiom with new_child
80
+ tag.new_child "ns3", "tag3" do |child|
81
+ child.name = "tag4"
82
+ child.namespace = "ns4"
83
+ child.value = self.class.name
84
+ end
85
+ assert_equal "tag4", tag.child.name
86
+ assert_equal "ns4", tag.child.namespace
87
+ assert_equal self.class.name, tag.child.value
68
88
  end
69
89
 
70
90
  def test_children
@@ -464,21 +484,29 @@ EOF
464
484
  root.children_values
465
485
  end
466
486
 
487
+ # Tests the correctness of the generated XML (not the formatting).
467
488
  def test_to_xml_string
489
+ _test_to_xml_string()
490
+ _test_to_xml_string(:indent => " ")
491
+ _test_to_xml_string(:indent => " ", :eol => "\r\n")
492
+ end
493
+
494
+ def _test_to_xml_string(options = {})
468
495
  tag = Tag.new "tag1"
469
- xml_doc = REXML::Document.new(tag.to_xml_string)
496
+ xml_doc = REXML::Document.new(tag.to_xml_string(options))
470
497
  assert_equal "tag1", xml_doc[0].name
471
498
  assert_equal "", xml_doc[0].namespace
472
499
 
473
500
  tag = Tag.new "ns1", "tag1"
474
- xml_doc = REXML::Document.new(tag.to_xml_string("", {"ns1" => "ns1"}))
501
+ ns_options = {:uri_by_namespace => {"ns1" => "ns1"}}.merge(options)
502
+ xml_doc = REXML::Document.new(tag.to_xml_string(ns_options))
475
503
  assert_equal "tag1", xml_doc[0].name
476
504
  assert_equal "ns1", xml_doc[0].namespace
477
505
 
478
506
  tag = Tag.new "tag1" do
479
507
  self << 123
480
508
  end
481
- xml_doc = REXML::Document.new(tag.to_xml_string)
509
+ xml_doc = REXML::Document.new(tag.to_xml_string(options))
482
510
  assert_equal "tag1", xml_doc[0].name
483
511
  assert_equal "123", xml_doc[0].attribute("_val0").value
484
512
 
@@ -488,13 +516,54 @@ EOF
488
516
  end
489
517
  new_child "tag3"
490
518
  end
491
- xml_doc = REXML::Document.new(tag.to_xml_string)
519
+ xml_doc = REXML::Document.new(tag.to_xml_string(options))
492
520
  assert_equal "tag1", xml_doc.elements[1].name
493
521
  assert_equal "tag2", xml_doc.elements[1].elements[1].name
494
522
  assert_equal "tag3", xml_doc.elements[1].elements[2].name
495
523
  assert_equal "123", xml_doc.elements[1].elements[1].attribute("a1").value
496
524
  end
497
525
 
526
+ def test_to_xml_string_format
527
+ root = Tag.new "tag1" do
528
+ new_child "tag2"
529
+ new_child "tag3"
530
+ end
531
+
532
+ assert_equal(
533
+ "<tag1>\n" +
534
+ "\t<tag2/>\n" +
535
+ "\t<tag3/>\n" +
536
+ "</tag1>",
537
+ root.to_xml_string)
538
+ assert_equal(
539
+ "<tag1>\n" +
540
+ " <tag2/>\n" +
541
+ " <tag3/>\n" +
542
+ "</tag1>",
543
+ root.to_xml_string(:indent => " "))
544
+ assert_equal(
545
+ "--<tag1>\n" +
546
+ "-- <tag2/>\n" +
547
+ "-- <tag3/>\n" +
548
+ "--</tag1>",
549
+ root.to_xml_string(:line_prefix => "--", :indent => " "))
550
+ assert_equal(
551
+ "<tag1>\r\n" +
552
+ "\t<tag2/>\r\n" +
553
+ "\t<tag3/>\r\n" +
554
+ "</tag1>",
555
+ root.to_xml_string(:eol => "\r\n"))
556
+ end
557
+
558
+ def test_omit_null_attributes_xml_option
559
+ root = Tag.new "tag1" do |tag|
560
+ tag << { "a1" => 123, "a2" => nil }
561
+ end
562
+
563
+ assert_equal "<tag1 a1=\"123\" a2=\"null\"/>", root.to_xml_string
564
+ assert_equal "<tag1 a1=\"123\"/>", root.to_xml_string(:omit_null_attributes => true)
565
+ end
566
+
498
567
  def test_write
499
568
  root = Tag.new("root")
500
569
 
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdl4r
3
3
  version: !ruby/object:Gem::Version
4
- hash: 55
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 9
9
- - 6
10
- version: 0.9.6
8
+ - 7
9
+ version: 0.9.7
11
10
  platform: ruby
12
11
  authors:
13
12
  - Philippe Vosges
@@ -16,7 +15,7 @@ autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
17
 
19
- date: 2010-08-10 00:00:00 +09:00
18
+ date: 2010-08-26 00:00:00 +09:00
20
19
  default_executable:
21
20
  dependencies: []
22
21
 
@@ -56,22 +55,30 @@ files:
56
55
  - doc/files/LICENSE.html
57
56
  - doc/files/CHANGELOG.html
58
57
  - doc/files/lib/sdl4r_rb.html
59
- - doc/files/lib/sdl4r/sdl_time_span_rb.html
60
58
  - doc/files/lib/sdl4r/sdl_parse_error_rb.html
61
59
  - doc/files/lib/sdl4r/tag_rb.html
60
+ - doc/files/lib/sdl4r/sdl_time_span_rb.html
62
61
  - doc/files/lib/sdl4r/parser_rb.html
62
+ - doc/files/lib/sdl4r/sdl4r_rb.html
63
63
  - doc/files/lib/sdl4r/sdl_binary_rb.html
64
64
  - doc/files/lib/sdl4r/parser/reader_rb.html
65
+ - doc/files/lib/sdl4r/parser/time_span_with_zone_rb.html
65
66
  - doc/files/lib/sdl4r/parser/tokenizer_rb.html
66
67
  - doc/files/lib/sdl4r/parser/token_rb.html
67
- - doc/files/lib/sdl4r/parser/time_span_with_zone_rb.html
68
- - doc/files/lib/sdl4r/sdl4r_rb.html
68
+ - doc/files/test/sdl4r/parser_test_rb.html
69
+ - doc/files/test/sdl4r/sdl_test_rb.html
70
+ - doc/files/test/sdl4r/tag_test_rb.html
71
+ - doc/files/test/sdl4r/sdl4r_test_rb.html
69
72
  - doc/classes/SDL4R.html
70
73
  - doc/classes/SDL4R/SdlTimeSpan.html
71
74
  - doc/classes/SDL4R/SdlParseError.html
72
75
  - doc/classes/SDL4R/Tag.html
73
76
  - doc/classes/SDL4R/Parser.html
77
+ - doc/classes/SDL4R/SDLTest.html
78
+ - doc/classes/SDL4R/TagTest.html
74
79
  - doc/classes/SDL4R/SdlBinary.html
80
+ - doc/classes/SDL4R/ParserTest.html
81
+ - doc/classes/SDL4R/SDL4RTest.html
75
82
  - doc/fr_file_index.html
76
83
  - doc/fr_class_index.html
77
84
  - doc/fr_method_index.html
@@ -87,27 +94,23 @@ rdoc_options: []
87
94
  require_paths:
88
95
  - lib
89
96
  required_ruby_version: !ruby/object:Gem::Requirement
90
- none: false
91
97
  requirements:
92
98
  - - ">="
93
99
  - !ruby/object:Gem::Version
94
- hash: 3
95
100
  segments:
96
101
  - 0
97
102
  version: "0"
98
103
  required_rubygems_version: !ruby/object:Gem::Requirement
99
- none: false
100
104
  requirements:
101
105
  - - ">="
102
106
  - !ruby/object:Gem::Version
103
- hash: 3
104
107
  segments:
105
108
  - 0
106
109
  version: "0"
107
110
  requirements:
108
111
  - none
109
112
  rubyforge_project: sdl4r
110
- rubygems_version: 1.3.7
113
+ rubygems_version: 1.3.6
111
114
  signing_key:
112
115
  specification_version: 3
113
116
  summary: Simple Declarative Language for Ruby library