danger-todoist 1.0.1 → 1.1.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Dangerfile +5 -0
- data/lib/todoist/diff_todo_finder.rb +1 -0
- data/lib/todoist/gem_version.rb +1 -1
- data/spec/diff_todo_finder_spec.rb +19 -57
- data/spec/spec_helper.rb +9 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a9300d0182df857bcceb2f773095c36924e04dc
|
4
|
+
data.tar.gz: 89cb101a4effda323f9fa5e8937ee1d8c4809a4e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1135e1b4d7a58c5a49c8d071719f7a088a63c49bcd8da113558799e2af3b860e8fd97bc6504307076cef47f7c24ff6a97fdb61afc8ece63a44bde34de0559ebd
|
7
|
+
data.tar.gz: 558aac3afe414446e3730bdeb8229793b88612c1f2cc073f4ec8c7e0b34d68bf7b61891a2bc5aa7593258ef3859a45ebd1425c1b1003677ed83a86a59bf1a0c8
|
data/CHANGELOG.md
CHANGED
data/Dangerfile
CHANGED
@@ -4,6 +4,11 @@ warn("PR is classed as Work in Progress") if github.pr_title.include? "[WIP]"
|
|
4
4
|
# Warn when there is a big PR
|
5
5
|
warn("Big PR") if git.lines_of_code > 500
|
6
6
|
|
7
|
+
# Reminder to add changelog entry
|
8
|
+
unless git.modified_files.include?("CHANGELOG.md")
|
9
|
+
fail("Please include a CHANGELOG entry.", sticky: false)
|
10
|
+
end
|
11
|
+
|
7
12
|
# Identify leftover todos
|
8
13
|
todoist.message = "There are still some things to do in this PR."
|
9
14
|
todoist.warn_for_todos
|
@@ -5,6 +5,7 @@ module Danger
|
|
5
5
|
^\+ # we only look at additions, marked by + in diffs
|
6
6
|
\s* # followed by optional space
|
7
7
|
[^a-z0-9\+\s]+ # anything looking like a comment indicator
|
8
|
+
(\n\+)? # allow multiline comment markers
|
8
9
|
\s+ # followed by at least one space
|
9
10
|
(TODO|FIXME) # our todo indicator
|
10
11
|
[\s:]{1} # followed by a space or colon
|
data/lib/todoist/gem_version.rb
CHANGED
@@ -7,15 +7,9 @@ module Danger
|
|
7
7
|
describe "#find_diffs_containing_todos" do
|
8
8
|
%w(TODO TODO: todo todo: FIXME fixme FIXME: fixme).each do |marker|
|
9
9
|
it "identifies a new '#{marker}' as a todo" do
|
10
|
-
|
11
|
-
Git::Diff::DiffFile.new(
|
12
|
-
"base",
|
13
|
-
path: "some/file.rb",
|
14
|
-
patch: "+ # #{marker} some todo"
|
15
|
-
)
|
16
|
-
]
|
10
|
+
diff = sample_diff("+ # #{marker} some todo")
|
17
11
|
|
18
|
-
todos = subject.find_diffs_containing_todos(
|
12
|
+
todos = subject.find_diffs_containing_todos([diff])
|
19
13
|
|
20
14
|
expect(todos).to_not be_empty
|
21
15
|
end
|
@@ -24,30 +18,18 @@ module Danger
|
|
24
18
|
# those comment indicators are ripped off https://github.com/pgilad/leasot
|
25
19
|
%w(# {{ -- // /* <!-- <%# % / -# {{! {{!-- {# <%--).each do |comment|
|
26
20
|
it "identifies todos in languages with '#{comment}' as comments" do
|
27
|
-
|
28
|
-
Git::Diff::DiffFile.new(
|
29
|
-
"base",
|
30
|
-
path: "some/file.rb",
|
31
|
-
patch: "+ #{comment} TODO: some todo"
|
32
|
-
)
|
33
|
-
]
|
21
|
+
diff = sample_diff("+ #{comment} TODO: some todo")
|
34
22
|
|
35
|
-
todos = subject.find_diffs_containing_todos(
|
23
|
+
todos = subject.find_diffs_containing_todos([diff])
|
36
24
|
|
37
25
|
expect(todos).to_not be_empty
|
38
26
|
end
|
39
27
|
end
|
40
28
|
|
41
29
|
it "does not identify removed todos as a todo" do
|
42
|
-
|
43
|
-
Git::Diff::DiffFile.new(
|
44
|
-
"base",
|
45
|
-
path: "some/file.rb",
|
46
|
-
patch: "- TODO: some todo"
|
47
|
-
)
|
48
|
-
]
|
30
|
+
diff = sample_diff("- TODO: some todo")
|
49
31
|
|
50
|
-
todos = subject.find_diffs_containing_todos(
|
32
|
+
todos = subject.find_diffs_containing_todos([diff])
|
51
33
|
|
52
34
|
expect(todos).to be_empty
|
53
35
|
end
|
@@ -66,30 +48,18 @@ module Danger
|
|
66
48
|
"+ TODO: something"
|
67
49
|
].each do |patch|
|
68
50
|
it "does not identify occurences in '#{patch}'" do
|
69
|
-
|
70
|
-
Git::Diff::DiffFile.new(
|
71
|
-
"base",
|
72
|
-
path: "some/file.rb",
|
73
|
-
patch: patch
|
74
|
-
)
|
75
|
-
]
|
51
|
+
diff = sample_diff("some/file.rb")
|
76
52
|
|
77
|
-
todos = subject.find_diffs_containing_todos(
|
53
|
+
todos = subject.find_diffs_containing_todos([diff])
|
78
54
|
|
79
55
|
expect(todos).to be_empty
|
80
56
|
end
|
81
57
|
end
|
82
58
|
|
83
59
|
it "identifies the todo text as well" do
|
84
|
-
|
85
|
-
Git::Diff::DiffFile.new(
|
86
|
-
"base",
|
87
|
-
path: "some/file.rb",
|
88
|
-
patch: "+ # TODO: practice you must"
|
89
|
-
)
|
90
|
-
]
|
60
|
+
diff = sample_diff("+ # TODO: practice you must")
|
91
61
|
|
92
|
-
todos = subject.find_diffs_containing_todos(
|
62
|
+
todos = subject.find_diffs_containing_todos([diff])
|
93
63
|
|
94
64
|
expect(todos.first.text).to eql("practice you must")
|
95
65
|
end
|
@@ -103,15 +73,9 @@ module Danger
|
|
103
73
|
+ # FIXME: with you the force is
|
104
74
|
PATCH
|
105
75
|
|
106
|
-
|
107
|
-
Git::Diff::DiffFile.new(
|
108
|
-
"base",
|
109
|
-
path: "some/file.rb",
|
110
|
-
patch: patch
|
111
|
-
)
|
112
|
-
]
|
76
|
+
diff = sample_diff(patch)
|
113
77
|
|
114
|
-
todos = subject.find_diffs_containing_todos(
|
78
|
+
todos = subject.find_diffs_containing_todos([diff])
|
115
79
|
|
116
80
|
expect(todos.map(&:text))
|
117
81
|
.to eql(["practice you must", "with you the force is"])
|
@@ -122,19 +86,17 @@ PATCH
|
|
122
86
|
+ /*
|
123
87
|
+ TODO: something
|
124
88
|
+ */
|
89
|
+
+ function bla() {};
|
90
|
+
+ /**
|
91
|
+
+ * TODO: another
|
92
|
+
+ */
|
125
93
|
PATCH
|
126
94
|
|
127
|
-
|
128
|
-
Git::Diff::DiffFile.new(
|
129
|
-
"base",
|
130
|
-
path: "some/file.rb",
|
131
|
-
patch: patch
|
132
|
-
)
|
133
|
-
]
|
95
|
+
diff = sample_diff(patch)
|
134
96
|
|
135
|
-
todos = subject.find_diffs_containing_todos(
|
97
|
+
todos = subject.find_diffs_containing_todos([diff])
|
136
98
|
|
137
|
-
expect(todos.map(&:text)).to eql(
|
99
|
+
expect(todos.map(&:text)).to eql(%w(something another))
|
138
100
|
end
|
139
101
|
end
|
140
102
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -54,7 +54,7 @@ end
|
|
54
54
|
|
55
55
|
# A stubbed out Dangerfile for use in tests
|
56
56
|
def testing_dangerfile
|
57
|
-
env = Danger::EnvironmentManager.new(testing_env)
|
57
|
+
env = Danger::EnvironmentManager.new(testing_env, testing_ui)
|
58
58
|
Danger::Dangerfile.new(env, testing_ui)
|
59
59
|
end
|
60
60
|
|
@@ -69,3 +69,11 @@ end
|
|
69
69
|
def markdowns
|
70
70
|
@dangerfile.status_report[:markdowns].map(&:message)
|
71
71
|
end
|
72
|
+
|
73
|
+
def sample_diff(patch)
|
74
|
+
Git::Diff::DiffFile.new(
|
75
|
+
"base",
|
76
|
+
path: "some/file.rb",
|
77
|
+
patch: patch
|
78
|
+
)
|
79
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danger-todoist
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hannes Käufler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-09-
|
11
|
+
date: 2016-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: danger-plugin-api
|