mdv 0.4.1 → 0.7.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 +22 -0
- data/README.md +10 -2
- data/bin/mdv +50 -7
- data/lib/mdv/document.rb +1 -1
- data/lib/mdv/markdown_viewer.rb +21 -36
- data/lib/mdv/version.rb +5 -0
- data/lib/mdv.rb +2 -1
- metadata +157 -37
- data/Gemfile +0 -5
- data/Rakefile +0 -25
- data/test/end_to_end/basic_run_test.rb +0 -33
- data/test/mdv/document_test.rb +0 -16
- data/test/test_helper.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 157742d804cd8625c8c157dba743e9ccaf5e3c22035c44ade34b4cc5f078ab5b
|
4
|
+
data.tar.gz: dc93ca82813f53fff68b46f659c2338250e5703eca326a777da2732c23372b61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88e22ead99dc73e67273d52a6be5b134d36472dfee546bf1812465faf0c56045a9d5af1f4aecd084dcb969a632d70e0baf24e1391a34a5548b9cd0c3cd1a96b1
|
7
|
+
data.tar.gz: 6dcf7e0c5f1b9ddb3a7e61eaed787dd7b5932c84187648c9124cbcd84eb5b224935932e2e39a993e5a79c095d756518c587159183ba06040e60d1c0e373ea853
|
data/Changelog.md
CHANGED
@@ -1,5 +1,27 @@
|
|
1
1
|
# Change log
|
2
2
|
|
3
|
+
## 0.7.0 / 2022-02-11
|
4
|
+
|
5
|
+
* Drop support for Ruby 2.5
|
6
|
+
* Support Ruby 3.1
|
7
|
+
* Update dependencies to allow github-markup version 4.0
|
8
|
+
|
9
|
+
## 0.6.0 / 2021-01-17
|
10
|
+
|
11
|
+
* Drop support for Ruby 2.4
|
12
|
+
* Support Ruby 2.7 and 3.0
|
13
|
+
* Implement as a Gtk::Application
|
14
|
+
|
15
|
+
## 0.5.1 / 2019-11-03
|
16
|
+
|
17
|
+
* Fix navigation signal handler that would cause program to abort just after
|
18
|
+
loading
|
19
|
+
|
20
|
+
## 0.5.0 / 2019-10-20
|
21
|
+
|
22
|
+
* Drop support for Ruby 2.3 and lower
|
23
|
+
* Port to GirFFI-Gtk
|
24
|
+
|
3
25
|
## 0.4.1 / 2018-12-09
|
4
26
|
|
5
27
|
* Update dependencies
|
data/README.md
CHANGED
@@ -15,7 +15,15 @@ links open in default browser.
|
|
15
15
|
|
16
16
|
## Dependencies
|
17
17
|
|
18
|
-
MDV depends on the
|
18
|
+
MDV depends on the `gir_ffi-gtk` gem. Additionally, you need to install the
|
19
|
+
Webkit2Gtk library and its gobject-introspection information. On Debian and
|
20
|
+
Ubuntu, the following should work:
|
21
|
+
|
22
|
+
sudo apt-get install gir1.2-webkit2-4.0
|
23
|
+
|
24
|
+
On Ubuntu, you may also have to install two additional packages:
|
25
|
+
|
26
|
+
sudo apt-get install libwebkit2gtk-4.0-dev libjavascriptcoregtk-4.0-dev
|
19
27
|
|
20
28
|
## Contributing
|
21
29
|
|
@@ -24,5 +32,5 @@ on GitHub.
|
|
24
32
|
|
25
33
|
## License
|
26
34
|
|
27
|
-
Copyright © 2012–
|
35
|
+
Copyright © 2012–2019 [Matijs van Zuijlen](http://www.matijs.net).
|
28
36
|
See LICENSE for details.
|
data/bin/mdv
CHANGED
@@ -1,15 +1,58 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
require
|
4
|
+
require "mdv"
|
5
5
|
|
6
|
-
Gtk.
|
6
|
+
myapp = Gtk::Application.new("net.matijs.mdv", handles_open: true)
|
7
7
|
|
8
|
-
|
8
|
+
def make_window(app)
|
9
|
+
win = Gtk::ApplicationWindow.new app
|
10
|
+
close_action = Gio::SimpleAction.new("close", nil)
|
11
|
+
close_action.signal_connect("activate") { win.destroy }
|
12
|
+
win.add_action close_action
|
13
|
+
win
|
14
|
+
end
|
9
15
|
|
10
|
-
|
11
|
-
|
16
|
+
myapp.signal_connect "startup" do |app|
|
17
|
+
WebKit2::WebContext.get_default.set_cache_model :document_viewer
|
12
18
|
|
13
|
-
|
19
|
+
action = Gio::SimpleAction.new("quit", nil)
|
20
|
+
action.signal_connect("activate") { app.quit }
|
21
|
+
myapp.add_action action
|
14
22
|
|
15
|
-
|
23
|
+
myapp.set_accels_for_action "app.quit", ["<Ctrl>Q"]
|
24
|
+
myapp.set_accels_for_action "win.close", ["<Ctrl>W"]
|
25
|
+
myapp.set_accels_for_action "win.reload", ["<Ctrl>R"]
|
26
|
+
|
27
|
+
# Add menu so Atspi has a way to access the actions
|
28
|
+
menu = Gio::Menu.new
|
29
|
+
file_menu = Gio::Menu.new
|
30
|
+
file_menu.append "Close Window", "win.close"
|
31
|
+
file_menu.append "Quit", "app.quit"
|
32
|
+
menu.append_submenu "File", file_menu
|
33
|
+
view_menu = Gio::Menu.new
|
34
|
+
view_menu.append "Reload", "win.reload"
|
35
|
+
menu.append_submenu "View", view_menu
|
36
|
+
|
37
|
+
myapp.menubar = menu
|
38
|
+
end
|
39
|
+
|
40
|
+
myapp.signal_connect "activate" do |app, _user_data|
|
41
|
+
win = make_window(app)
|
42
|
+
win.show_all
|
43
|
+
win.children.first.visible = false
|
44
|
+
end
|
45
|
+
|
46
|
+
myapp.signal_connect "open" do |app, files, _hint, _user_data|
|
47
|
+
files.each do |file|
|
48
|
+
filename = file.path
|
49
|
+
win = make_window(app)
|
50
|
+
MDV::MarkdownViewer.new win, filename
|
51
|
+
win.show_all
|
52
|
+
|
53
|
+
# This hides the menubar but keeps it available for Atspi
|
54
|
+
win.children.first.visible = false
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
exit(myapp.run([$PROGRAM_NAME] + ARGV))
|
data/lib/mdv/document.rb
CHANGED
data/lib/mdv/markdown_viewer.rb
CHANGED
@@ -1,72 +1,57 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "gir_ffi-gtk3"
|
4
|
+
require "mdv/document"
|
5
|
+
|
6
|
+
GirFFI.setup :WebKit2, "4.0"
|
5
7
|
|
6
8
|
module MDV
|
7
9
|
# Markdown viewer window class
|
8
10
|
class MarkdownViewer
|
9
|
-
def initialize(file)
|
11
|
+
def initialize(win, file)
|
12
|
+
@win = win
|
10
13
|
@document = Document.new(file)
|
11
14
|
setup_gui
|
15
|
+
connect_actions
|
12
16
|
reload
|
13
17
|
connect_signals
|
14
|
-
@win.show_all
|
15
18
|
end
|
16
19
|
|
17
20
|
private
|
18
21
|
|
19
22
|
def connect_signals
|
20
|
-
connect_key_press_event_signal
|
21
|
-
connect_destroy_signal
|
22
23
|
connect_web_view_signals
|
23
24
|
end
|
24
25
|
|
25
|
-
def connect_destroy_signal
|
26
|
-
@win.signal_connect('destroy') { Gtk.main_quit }
|
27
|
-
end
|
28
|
-
|
29
|
-
def connect_key_press_event_signal
|
30
|
-
@win.signal_connect 'key-press-event' do |_wdg, evt, _ud|
|
31
|
-
handle_key(evt) if evt.state.control_mask?
|
32
|
-
false
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
26
|
def connect_web_view_signals
|
37
|
-
web_view.signal_connect(
|
38
|
-
web_view.signal_connect(
|
27
|
+
web_view.signal_connect("context-menu") { true }
|
28
|
+
web_view.signal_connect("decide-policy") do |_wv, decision, decision_type|
|
39
29
|
handle_decide_policy(decision, decision_type)
|
40
30
|
end
|
41
31
|
end
|
42
32
|
|
43
|
-
def handle_key(evt)
|
44
|
-
case evt.keyval
|
45
|
-
when 'q'.ord
|
46
|
-
@win.destroy
|
47
|
-
when 'r'.ord
|
48
|
-
reload
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
33
|
def handle_decide_policy(decision, decision_type)
|
53
|
-
case decision_type
|
54
|
-
when
|
34
|
+
case decision_type
|
35
|
+
when :navigation_action
|
55
36
|
action = decision.navigation_action
|
56
|
-
if action.
|
37
|
+
if action.is_user_gesture
|
57
38
|
Gtk.show_uri_on_window(@win, action.request.uri, 0)
|
58
39
|
true
|
59
40
|
end
|
60
|
-
when
|
41
|
+
when :new_window_action
|
61
42
|
true
|
62
43
|
end
|
63
44
|
end
|
64
45
|
|
65
46
|
def setup_gui
|
66
|
-
@win = Gtk::Window.new :toplevel
|
67
|
-
@win.set_default_geometry 700, 500
|
68
|
-
|
69
47
|
@win.add scrolled_window
|
48
|
+
@win.set_default_size 700, 500
|
49
|
+
end
|
50
|
+
|
51
|
+
def connect_actions
|
52
|
+
reload_action = Gio::SimpleAction.new("reload", nil)
|
53
|
+
reload_action.signal_connect("activate") { reload }
|
54
|
+
@win.add_action reload_action
|
70
55
|
end
|
71
56
|
|
72
57
|
def scrolled_window
|
@@ -76,7 +61,7 @@ module MDV
|
|
76
61
|
end
|
77
62
|
|
78
63
|
def web_view
|
79
|
-
@web_view ||=
|
64
|
+
@web_view ||= WebKit2::WebView.new
|
80
65
|
end
|
81
66
|
|
82
67
|
def reload
|
data/lib/mdv/version.rb
ADDED
data/lib/mdv.rb
CHANGED
metadata
CHANGED
@@ -1,144 +1,264 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mdv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matijs van Zuijlen
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: gir_ffi
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.15.7
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.15.7
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: gir_ffi-gtk
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.15.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.15.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: github-markdown
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.6.5
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.6.5
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: github-markup
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3'
|
62
|
+
- - "<"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '5'
|
65
|
+
type: :runtime
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '3'
|
72
|
+
- - "<"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '5'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: atspi_app_driver
|
57
77
|
requirement: !ruby/object:Gem::Requirement
|
58
78
|
requirements:
|
59
79
|
- - "~>"
|
60
80
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.2
|
81
|
+
version: 0.7.2
|
62
82
|
type: :development
|
63
83
|
prerelease: false
|
64
84
|
version_requirements: !ruby/object:Gem::Requirement
|
65
85
|
requirements:
|
66
86
|
- - "~>"
|
67
87
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.2
|
88
|
+
version: 0.7.2
|
69
89
|
- !ruby/object:Gem::Dependency
|
70
90
|
name: minitest
|
71
91
|
requirement: !ruby/object:Gem::Requirement
|
72
92
|
requirements:
|
73
93
|
- - "~>"
|
74
94
|
- !ruby/object:Gem::Version
|
75
|
-
version: '5.
|
95
|
+
version: '5.12'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '5.12'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: pry
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.14.0
|
76
110
|
type: :development
|
77
111
|
prerelease: false
|
78
112
|
version_requirements: !ruby/object:Gem::Requirement
|
79
113
|
requirements:
|
80
114
|
- - "~>"
|
81
115
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
116
|
+
version: 0.14.0
|
83
117
|
- !ruby/object:Gem::Dependency
|
84
118
|
name: rake
|
85
119
|
requirement: !ruby/object:Gem::Requirement
|
86
120
|
requirements:
|
87
121
|
- - "~>"
|
88
122
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
123
|
+
version: '13.0'
|
90
124
|
type: :development
|
91
125
|
prerelease: false
|
92
126
|
version_requirements: !ruby/object:Gem::Requirement
|
93
127
|
requirements:
|
94
128
|
- - "~>"
|
95
129
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
97
|
-
|
130
|
+
version: '13.0'
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: rake-manifest
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - "~>"
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: 0.2.0
|
138
|
+
type: :development
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 0.2.0
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: rubocop
|
147
|
+
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - "~>"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: 1.25.0
|
152
|
+
type: :development
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - "~>"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 1.25.0
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: rubocop-minitest
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - "~>"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 0.17.0
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - "~>"
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: 0.17.0
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
name: rubocop-packaging
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - "~>"
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: 0.5.0
|
180
|
+
type: :development
|
181
|
+
prerelease: false
|
182
|
+
version_requirements: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - "~>"
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: 0.5.0
|
187
|
+
- !ruby/object:Gem::Dependency
|
188
|
+
name: rubocop-performance
|
189
|
+
requirement: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - "~>"
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: 1.13.0
|
194
|
+
type: :development
|
195
|
+
prerelease: false
|
196
|
+
version_requirements: !ruby/object:Gem::Requirement
|
197
|
+
requirements:
|
198
|
+
- - "~>"
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: 1.13.0
|
201
|
+
- !ruby/object:Gem::Dependency
|
202
|
+
name: simplecov
|
203
|
+
requirement: !ruby/object:Gem::Requirement
|
204
|
+
requirements:
|
205
|
+
- - "~>"
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
version: 0.21.0
|
208
|
+
type: :development
|
209
|
+
prerelease: false
|
210
|
+
version_requirements: !ruby/object:Gem::Requirement
|
211
|
+
requirements:
|
212
|
+
- - "~>"
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: 0.21.0
|
215
|
+
description: 'Quickly view markdown files on GNOME
|
216
|
+
|
217
|
+
'
|
98
218
|
email:
|
99
219
|
- matijs@matijs.net
|
100
220
|
executables:
|
101
221
|
- mdv
|
102
222
|
extensions: []
|
103
|
-
extra_rdoc_files:
|
223
|
+
extra_rdoc_files:
|
224
|
+
- Changelog.md
|
225
|
+
- README.md
|
104
226
|
files:
|
105
227
|
- Changelog.md
|
106
|
-
- Gemfile
|
107
228
|
- LICENSE
|
108
229
|
- README.md
|
109
|
-
- Rakefile
|
110
230
|
- bin/mdv
|
111
231
|
- lib/mdv.rb
|
112
232
|
- lib/mdv/document.rb
|
113
233
|
- lib/mdv/markdown_viewer.rb
|
114
|
-
-
|
115
|
-
- test/mdv/document_test.rb
|
116
|
-
- test/test_helper.rb
|
234
|
+
- lib/mdv/version.rb
|
117
235
|
homepage: http://www.github.com/mvz/mdv
|
118
236
|
licenses:
|
119
237
|
- MIT
|
120
|
-
metadata:
|
121
|
-
|
122
|
-
|
238
|
+
metadata:
|
239
|
+
homepage_uri: http://www.github.com/mvz/mdv
|
240
|
+
source_code_uri: https://github.com/mvz/mdv
|
241
|
+
changelog_uri: https://github.com/mvz/mdv/blob/master/Changelog.md
|
242
|
+
rubygems_mfa_required: 'true'
|
243
|
+
post_install_message:
|
244
|
+
rdoc_options:
|
245
|
+
- "--main"
|
246
|
+
- README.md
|
123
247
|
require_paths:
|
124
248
|
- lib
|
125
249
|
required_ruby_version: !ruby/object:Gem::Requirement
|
126
250
|
requirements:
|
127
251
|
- - ">="
|
128
252
|
- !ruby/object:Gem::Version
|
129
|
-
version: 2.
|
253
|
+
version: 2.6.0
|
130
254
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
255
|
requirements:
|
132
256
|
- - ">="
|
133
257
|
- !ruby/object:Gem::Version
|
134
258
|
version: '0'
|
135
259
|
requirements: []
|
136
|
-
|
137
|
-
|
138
|
-
signing_key:
|
260
|
+
rubygems_version: 3.3.3
|
261
|
+
signing_key:
|
139
262
|
specification_version: 4
|
140
263
|
summary: Simple Markdown Viewer
|
141
|
-
test_files:
|
142
|
-
- test/mdv/document_test.rb
|
143
|
-
- test/test_helper.rb
|
144
|
-
- test/end_to_end/basic_run_test.rb
|
264
|
+
test_files: []
|
data/Gemfile
DELETED
data/Rakefile
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'rake/clean'
|
4
|
-
require 'bundler/gem_tasks'
|
5
|
-
require 'rake/testtask'
|
6
|
-
|
7
|
-
namespace :test do
|
8
|
-
Rake::TestTask.new(:unit) do |t|
|
9
|
-
t.libs = ['lib']
|
10
|
-
t.test_files = FileList['test/mdv/*_test.rb']
|
11
|
-
t.warning = true
|
12
|
-
end
|
13
|
-
|
14
|
-
Rake::TestTask.new(:end_to_end) do |t|
|
15
|
-
t.libs = ['lib']
|
16
|
-
t.test_files = FileList['test/end_to_end/*_test.rb']
|
17
|
-
t.warning = true
|
18
|
-
end
|
19
|
-
|
20
|
-
task all: [:unit, :end_to_end]
|
21
|
-
end
|
22
|
-
|
23
|
-
task test: 'test:all'
|
24
|
-
|
25
|
-
task default: 'test'
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative '../test_helper'
|
4
|
-
require 'gnome_app_driver'
|
5
|
-
|
6
|
-
# Test driver for the MDV application.
|
7
|
-
class MDVDriver < GnomeAppDriver
|
8
|
-
def initialize
|
9
|
-
super 'mdv'
|
10
|
-
end
|
11
|
-
|
12
|
-
def boot(filename)
|
13
|
-
super arguments: [filename]
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
describe 'The MDV application' do
|
18
|
-
before do
|
19
|
-
@driver = MDVDriver.new
|
20
|
-
@driver.boot('README.md')
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'starts and can be quit with Ctrl-q' do
|
24
|
-
@driver.press_ctrl_q
|
25
|
-
|
26
|
-
status = @driver.cleanup
|
27
|
-
status.exitstatus.must_equal 0
|
28
|
-
end
|
29
|
-
|
30
|
-
after do
|
31
|
-
@driver.cleanup
|
32
|
-
end
|
33
|
-
end
|
data/test/mdv/document_test.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative '../test_helper'
|
4
|
-
|
5
|
-
require 'mdv/document'
|
6
|
-
|
7
|
-
describe MDV::Document do
|
8
|
-
let(:document) { MDV::Document.new('test/fixtures/test.md') }
|
9
|
-
|
10
|
-
describe '#html' do
|
11
|
-
it 'renders the correct html' do
|
12
|
-
document.html.
|
13
|
-
must_equal "<h1>Test</h1>\n\n<p>This is a test document.</p>\n"
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
data/test/test_helper.rb
DELETED