time_tree 2.2.1 → 2.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ Pending When filter is used activities using & are ignored even if the ywould have matched
@@ -1,3 +1,4 @@
1
1
  1975/06/02
2
2
  1100 jun2stuff jun2
3
- 1102 -
3
+ 1101 & more jun2 stuff
4
+ 1102 -
@@ -1,3 +1,3 @@
1
1
  1975/06/03
2
2
  1000 jun3stuff jun3
3
- 1003 -
3
+ 1003 -
@@ -29,7 +29,8 @@ module TimeTree
29
29
  def set_date(date)
30
30
  @date = date
31
31
  @prev_mins = nil
32
- @prev_activities = nil
32
+ @prev_activity = nil
33
+ @prev_context = nil
33
34
  @prev_comment = nil
34
35
  end
35
36
 
@@ -66,12 +67,12 @@ module TimeTree
66
67
  set_date($1)
67
68
  true
68
69
 
69
- when /^(\d\d\d\d) +([-\w\/]+) *(.*)$/
70
+ when /^(\d\d\d\d) +([-&\w\/]+) *(.*)$/
70
71
  if minutes = mins($1)
71
72
  unless @prev_mins.nil?
72
73
  if minutes > @prev_mins
73
- if @prev_activities != '-' && selected?(@date, @prev_activities)
74
- process_line(minutes, @prev_activities, @prev_comment)
74
+ if @prev_activity != '-' && selected?(@date, @prev_context)
75
+ process_line(minutes, @prev_context, @prev_comment)
75
76
  end
76
77
  else
77
78
  add_error(line, 'time does not advance')
@@ -80,7 +81,8 @@ module TimeTree
80
81
  end
81
82
 
82
83
  @prev_mins = minutes
83
- @prev_activities = $2.strip
84
+ @prev_activity = $2
85
+ @prev_context = $2 unless %w{- &}.include?($2)
84
86
  @prev_comment = $3.size > 0 ? $3 : nil
85
87
  true
86
88
  else
@@ -142,4 +144,4 @@ module TimeTree
142
144
  end
143
145
  end
144
146
  end
145
- end
147
+ end
@@ -1,3 +1,3 @@
1
1
  module TimeTree
2
- VERSION = "2.2.1"
2
+ VERSION = "2.3.1"
3
3
  end
@@ -126,9 +126,7 @@ module TimeTree
126
126
  end
127
127
 
128
128
  context "time lines" do
129
- before do
130
- parser.set_date('2013/01/02')
131
- end
129
+ before { parser.set_date('2013/01/02') }
132
130
 
133
131
  context "normal activities" do
134
132
  it "returns true and remains valid" do
@@ -180,6 +178,34 @@ module TimeTree
180
178
  end
181
179
  end
182
180
 
181
+ context "ampersand for activity (ditto last activity)" do
182
+ before { parser.set_date('2013/01/02') }
183
+
184
+ it "returns true and remains valid" do
185
+ parser.parse_line("1634 &").should be_true
186
+ parser.valid?.should be_true
187
+ end
188
+
189
+ context "Previous activity immediately before" do
190
+ it "calls ActivityTree#load with previous activity" do
191
+ tree.should_receive(:load).with(%w{foo}, 1, nil).twice
192
+ parser.parse_line("1634 foo")
193
+ parser.parse_line("1635 &")
194
+ parser.parse_line("1636 bar")
195
+ end
196
+ end
197
+
198
+ context "Previous activity separated by -" do
199
+ it "calls ActivityTree#load with previous activity" do
200
+ tree.should_receive(:load).with(%w{foo}, 1, nil).twice
201
+ parser.parse_line("1633 foo")
202
+ parser.parse_line("1634 -")
203
+ parser.parse_line("1635 &")
204
+ parser.parse_line("1636 bar")
205
+ end
206
+ end
207
+ end
208
+
183
209
  context "comment lines" do
184
210
  it "should return true" do
185
211
  parser.parse_line("# a comment").should be_true
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: time_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-03 00:00:00.000000000 Z
12
+ date: 2014-01-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -37,6 +37,7 @@ extra_rdoc_files: []
37
37
  files:
38
38
  - .gitignore
39
39
  - .rvmrc
40
+ - BUGS.txt
40
41
  - Gemfile
41
42
  - LICENSE.txt
42
43
  - README.md