yard-doctest 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 216ca29f83eef3428bc20ff8a2ca765b605e8428
4
- data.tar.gz: 4c821cbbd5d8c861c365fb57d6defa9f99726002
3
+ metadata.gz: 396c212a7f20383346628549f84472faa0bb150b
4
+ data.tar.gz: abb37e7c096350ef190fef1084d448f117f0ab75
5
5
  SHA512:
6
- metadata.gz: 831c02685ac564f579baeb4ecde9d6994e7ee09a34db02556bcac5f3ee799eda2c816905a524a659602d1316b5a3bc4c9b18a0a89f1502add3a9dce86e2a11db
7
- data.tar.gz: 360322c342fb9d2b567c8d250968a3087b5a7f4ee2e5a4270ce2ee6de6161d8ad0fce80fb37557e502376ca9a9ca92884666bf9e4b6f6a628315118d8028f8d4
6
+ metadata.gz: ee6657e890518cd8f8f72c164c3802f7db7f61e2ac4b8dcb5d283ea056cba27af3cf55e22e08471bd31e5475bdf90ef9a5d455788446937856927b2762a1445c
7
+ data.tar.gz: 2831f3ed0dad1391fcfb5a700792ccaefade4ca27e3d744b0735f8486b2cf9673066440c2fae126b9cd44988bbdfae92cd919f49f2985177b450679487cac545
data/CHANGELOG.md ADDED
@@ -0,0 +1,29 @@
1
+ ## 0.1.6
2
+
3
+ * Support per-example hooks [#3](https://github.com/p0deje/yard-doctest/pull/3)
4
+
5
+ ## 0.1.5
6
+
7
+ * Support testing for exceptions [#2](https://github.com/p0deje/yard-doctest/pull/2)
8
+
9
+ ## 0.1.4
10
+
11
+ * Allow to keep doctest_helper in support/ directory
12
+
13
+ ## 0.1.3
14
+
15
+ * Rake task exits with non-zero code when doctests fail
16
+
17
+ ## 0.1.2
18
+
19
+ * Allow skipping tests
20
+ * Allow configuring yard-doctest
21
+ * Rename helper from yard-doctest_helper to doctest_helper
22
+
23
+ ## 0.1.1
24
+
25
+ * Refactoring
26
+
27
+ ## 0.1.0
28
+
29
+ * Initial version
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2015 Alex Rodionov
1
+ Copyright (c) 2016 Alex Rodionov
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # yard-doctest [![Gem Version](https://badge.fury.io/rb/yard-doctest.svg)](http://badge.fury.io/rb/yard-doctest) [![Build Status](https://travis-ci.org/p0deje/yard-doctest.png?branch=master)](https://travis-ci.org/p0deje/yard-doctest)
1
+ # yard-doctest [![Gem Version](https://badge.fury.io/rb/yard-doctest.svg)](http://badge.fury.io/rb/yard-doctest) [![Build Status](https://travis-ci.org/p0deje/yard-doctest.svg?branch=master)](https://travis-ci.org/p0deje/yard-doctest)
2
2
 
3
3
  Have you ever wanted to turn your amazing code examples into something that really make sense, is always up-to-date and bullet-proof? Were looking at an amazing [Python doctest](https://docs.python.org/3/library/doctest.html)? Well, look no longer!
4
4
 
@@ -289,6 +289,10 @@ YARD::Doctest.configure do |doctest|
289
289
  doctest.after('MyClass#foo') do
290
290
  # this will only be called for doctests of `MyClass#foo`
291
291
  end
292
+
293
+ doctest.before('MyClass#foo@Example one') do
294
+ # this will only be called for example `Example one` of `MyClass#foo`
295
+ end
292
296
  end
293
297
  ```
294
298
 
@@ -124,8 +124,12 @@ Feature: yard doctest
124
124
  When I run `bundle exec yard doctest`
125
125
  Then the output should contain:
126
126
  """
127
- Expected: 2
128
- Actual: "2"
127
+ --- expected
128
+ +++ actual
129
+ @@ -1 +1,2 @@
130
+ -2
131
+ +# encoding: US-ASCII
132
+ +"2"
129
133
  """
130
134
 
131
135
  Scenario: asserts exceptions
@@ -494,6 +498,32 @@ Feature: yard doctest
494
498
  When I run `bundle exec yard doctest`
495
499
  Then the output should contain "2 runs, 2 assertions, 0 failures, 0 errors, 0 skips"
496
500
 
501
+ Scenario: supports test-name hooks for multiple examples on the same code object
502
+ Given a file named "doctest_helper.rb" with:
503
+ """
504
+ require 'app/app'
505
+
506
+ YARD::Doctest.before('#flag') do
507
+ @flag = true
508
+ end
509
+
510
+ YARD::Doctest.before('#flag@Second example for flag') do
511
+ @flag = false
512
+ end
513
+ """
514
+ And a file named "app/app.rb" with:
515
+ """
516
+ # @example
517
+ # flag #=> true
518
+ # @example Second example for flag
519
+ # flag #=> false
520
+ def flag
521
+ @flag
522
+ end
523
+ """
524
+ When I run `bundle exec yard doctest`
525
+ Then the output should contain "2 runs, 2 assertions, 0 failures, 0 errors, 0 skips"
526
+
497
527
  Scenario: can skip tests
498
528
  Given a file named "doctest_helper.rb" with:
499
529
  """
@@ -26,7 +26,15 @@ module YARD
26
26
 
27
27
  return if YARD::Doctest.skips.any? { |skip| this.definition.include?(skip) }
28
28
  describe this.definition do
29
- register_hooks(this.definition, YARD::Doctest.hooks)
29
+ # Append this.name to this.definition if YARD's @example tag is followed by
30
+ # descriptive text, to support hooks for multiple examples per code object.
31
+ example_name = if this.name.empty?
32
+ this.definition
33
+ else
34
+ "#{this.definition}@#{this.name}"
35
+ end
36
+
37
+ register_hooks(example_name, YARD::Doctest.hooks)
30
38
 
31
39
  it this.name do
32
40
  this.asserts.each do |assert|
@@ -65,12 +73,14 @@ module YARD
65
73
  exception.set_backtrace backtrace
66
74
  end
67
75
 
68
- def self.register_hooks(definition, all_hooks)
76
+
77
+
78
+ def self.register_hooks(example_name, all_hooks)
69
79
  all_hooks.each do |type, hooks|
70
80
  hooks.each do |hook|
71
81
  if hook[:test]
72
82
  # test-name hooks
73
- send(type, &hook[:block]) if definition.include?(hook[:test])
83
+ send(type, &hook[:block]) if example_name.include?(hook[:test])
74
84
  else
75
85
  # global hooks
76
86
  send(type, &hook[:block])
@@ -1,5 +1,5 @@
1
1
  module YARD
2
2
  module Doctest
3
- VERSION = '0.1.5'
3
+ VERSION = '0.1.6'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yard-doctest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Rodionov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-07 00:00:00.000000000 Z
11
+ date: 2016-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yard
@@ -88,6 +88,7 @@ extra_rdoc_files: []
88
88
  files:
89
89
  - ".gitignore"
90
90
  - ".travis.yml"
91
+ - CHANGELOG.md
91
92
  - Gemfile
92
93
  - LICENSE.txt
93
94
  - README.md
@@ -120,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
121
  version: '0'
121
122
  requirements: []
122
123
  rubyforge_project:
123
- rubygems_version: 2.2.2
124
+ rubygems_version: 2.4.5.1
124
125
  signing_key:
125
126
  specification_version: 4
126
127
  summary: Doctests from YARD examples