nudge 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -57,6 +57,7 @@ module_eval <<'..end parse.y modeval..ida1760a43d7', 'parse.y', 22
57
57
 
58
58
  def pop_footnote(category)
59
59
  value = @footnotes[category].shift
60
+ return unless value
60
61
 
61
62
  if category == "code"
62
63
  embedded_footnotes = [""]
@@ -69,7 +70,7 @@ module_eval <<'..end parse.y modeval..ida1760a43d7', 'parse.y', 22
69
70
 
70
71
 
71
72
  def collect_embedded_footnotes!(code_text, embedded_footnotes)
72
- ss = StringScanner.new(code_text)
73
+ ss = StringScanner.new(code_text)
73
74
  while ss.skip_until(/«([\p{Alpha}][\p{Alnum}_]*?)»/um)
74
75
  category = ss[1]
75
76
  footnote = @footnotes[category].shift || ""
@@ -77,6 +77,10 @@ describe "Nudge Program parsing" do
77
77
  NudgeProgram.new("block {} «bar» 9 9").parses?.should == false
78
78
  end
79
79
 
80
+ it "should work (not raise an exception) if the program is an empty string" do
81
+ NudgeProgram.new("").parses?.should == false
82
+ end
83
+
80
84
  describe ": should have a #tidy attribute with the indented, one-point per line structure" do
81
85
  it "should work for one-line programs" do
82
86
  NudgeProgram.new("do int_add").tidy.should == "do int_add"
@@ -141,6 +141,12 @@ describe "Nudge Program parser" do
141
141
  "block {\n value «code»\n value «code»\n value «int»} \n«code» do a\n«code»\n«int» 77"
142
142
  end
143
143
 
144
+ it "should work for code missing footnotes entirely" do
145
+ troubl = "block {value «code»}"
146
+ lambda{NudgeTree.from(troubl)}.should_not raise_error
147
+ NudgeTree.from(troubl)[:tree].blueprint.should == "block {\n value «code»} \n«code»"
148
+ end
149
+
144
150
 
145
151
  it "should strip whitespace off the front and back of footnote values" do
146
152
  spacey = "value «code»\n«code» \t\t value «float» \t\t\n«float» \t\n1.234"
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 0
9
- version: 0.2.0
8
+ - 1
9
+ version: 0.2.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Bill Tozier