Michael Miller
5a4e95e8a2
Split double macro into def_double and new_double
2022-03-19 11:41:53 -06:00
Michael Miller
4dff018330
Pass along block only if it exists
2022-03-19 11:28:36 -06:00
Michael Miller
a508aeb4a3
Use a shared macro to handle stub type cast
2022-03-17 02:45:50 -06:00
Michael Miller
751ea77172
Add docs explaining how stub macros work
2022-03-17 02:18:32 -06:00
Michael Miller
4f7a4a3453
Avoid issue with TypeCastError message
...
For some reason, attempting to get the class of the stubbed value causes a segfault.
This appears to get swallowed in some cases.
Trying to inspect the value was difficult without triggering some error.
In the failing case, the value is 42 (returned by a stubbed foo method).
The method is supposed to return a String, and this error checking should be triggered (line 119).
The value is a union, and inspecting the bytes contained in it looks like it's prefixed with the Crystal type ID for Int32.
However it looks like Crystal tries to treat it as a Bool? I'm not sure.
Very weird behavior and instead of wasting more time on it, I'm omitting the returned type from the error.
This type of casting error shouldn't be common.
This seems like a Crystal bug, but I'm having a hard time distilling the issue.
2022-03-16 22:40:24 -06:00
Michael Miller
280f117e23
Use TypedStub instead of ValueStub
...
Test possible issues around stub returning nil
2022-03-16 21:07:20 -06:00
Michael Miller
8e38d3b054
Add intermediate TypedStub
2022-03-16 21:05:43 -06:00
Michael Miller
dc74a741cf
Bit of method cleanup
2022-03-15 22:55:24 -06:00
Michael Miller
332ab1cebc
Smarter handling of stub fallback
2022-03-15 22:46:43 -06:00
Michael Miller
01fc91e854
Add stubs for primitive methods
2022-03-14 21:53:09 -06:00
Michael Miller
64cd921a7e
Add block arguments and yield
2022-03-12 23:50:30 -07:00
Michael Miller
03aa282512
Don't stub primitive methods
2022-03-12 23:02:55 -07:00
Michael Miller
291b4c75a8
Compiler error if stub defined in a method
2022-03-12 23:02:33 -07:00
Michael Miller
94872a498d
Better string representation of method call
2022-03-12 19:26:18 -07:00
Michael Miller
20087f1c57
Treat any tokens starting with _spectator as reserved
2022-03-12 19:17:38 -07:00
Michael Miller
5ad29f486f
Better formatting for empty arguments
2022-03-12 17:49:07 -07:00
Michael Miller
ca827a3c52
Initial work on null (object) double
2022-03-12 17:07:34 -07:00
Michael Miller
f82719746d
Stubable -> Stubbable
2022-03-12 15:45:48 -07:00
Michael Miller
7931847164
Cleanup and docs
2022-03-12 15:43:12 -07:00
Michael Miller
151926fd25
Fix captured arguments not handling splat
2022-03-12 14:31:39 -07:00
Michael Miller
ea46af00a6
Add method to define stubs
2022-03-12 14:31:19 -07:00
Michael Miller
123dd0efca
Obscure parameters to avoid accidental usage
2022-03-12 13:58:20 -07:00
Michael Miller
c8864b169e
Quick def methods should accept any args
2022-03-12 13:51:58 -07:00
Michael Miller
f497aeb79d
Fix redefinition of method with splat argument
2022-03-12 13:15:26 -07:00
Michael Miller
c1a14d1ad2
Add logging
2022-03-12 12:59:44 -07:00
Michael Miller
59f966d0e0
Fix missing double name
...
Rename internal method to _spectator_stubbed_name.
This is a better name for mocks and doubles.
Improve some handling around stubbed name.
2022-03-12 12:17:27 -07:00
Michael Miller
56f1c77a6c
Move method masking macro to Stubable
...
Rename to stub_all.
2022-03-12 11:56:54 -07:00
Michael Miller
85cc28c499
Utility method to define a method and a stub override
2022-03-12 11:41:47 -07:00
Michael Miller
8de457d80c
Handle previous_def and super - don't redefine method
2022-03-12 11:34:35 -07:00
Michael Miller
554e215898
Prevent ugly "has no type" errors
2022-03-12 11:33:56 -07:00
Michael Miller
12eeb02a8d
Move method redefinition for stub to Stubable
...
Require stub or raise UnexpectedMessage for all double methods.
Expose abstract_stub macro to require a stub.
2022-03-12 11:11:22 -07:00
Michael Miller
9b94245bd8
Stub's type might not match return type (subclass or union)
2022-03-12 11:08:58 -07:00
Michael Miller
d891422b3a
Don't need to recreate method by hand
2022-03-12 11:08:29 -07:00
Michael Miller
76c1d6a096
Some rework of stubs and doubles
2022-03-12 09:39:32 -07:00
Michael Miller
ae14a47329
Rename Response to Stub
2022-03-05 20:09:56 -07:00
Michael Miller
ced98778a4
Document and test MethodCall
2022-03-05 16:15:42 -07:00
Michael Miller
13f185b801
Capture and report arguments in exception message
2022-03-05 16:06:01 -07:00
Michael Miller
d16c55984c
Fixup macros
2022-03-05 15:39:19 -07:00
Michael Miller
2e15686d2d
Use internal arg name
2022-03-05 12:31:00 -07:00
Michael Miller
ec57105afd
Support response constraints
...
Reduce union expansion by casting at key points.
2022-03-05 12:21:31 -07:00
Michael Miller
8668e495ef
Placeholder mocks DSL
2022-03-05 10:41:52 -07:00
Michael Miller
2adc867843
Initial work on response constraints
2022-03-05 10:41:39 -07:00
Michael Miller
de7cd90d11
Add type capturing arguments
2022-03-04 17:16:45 -07:00
Michael Miller
d7f8c2b958
Cleanup and document double
2022-03-03 23:12:35 -07:00
Michael Miller
7e65d94cee
Match RSpec double name string
2022-03-03 22:41:18 -07:00
Michael Miller
9594604770
Obscure and disallow double name method
2022-03-03 22:34:57 -07:00
Michael Miller
5644d54470
Support double names
2022-03-03 22:31:40 -07:00
Michael Miller
26deea3d20
Initial work on Double
2022-03-03 22:10:09 -07:00
Michael Miller
8ac6546bdd
Rip out more existing mocks
2022-02-28 22:15:29 -07:00
Michael Miller
0ea7890ece
Merge branch 'master' into mock-redesign
2022-02-28 20:39:33 -07:00
Michael Miller
31d68a9ca3
Don't capture original block as proc
2022-02-22 16:55:11 -07:00
Michael Miller
35f8779ceb
Forward Example procsy to_s to example
...
https://gitlab.com/arctic-fox/spectator/-/issues/70
2022-02-22 16:36:16 -07:00
Michael Miller
eb8bd88927
Handle case with typeless block
...
Fixes syntax:
`stub method(&block)`
To stub a block with args, use:
`stub method(&block : Type -> Type)`
Addresses https://github.com/icy-arctic-fox/spectator/issues/42
2022-02-21 18:17:44 -07:00
Michael Miller
92e839415d
Fix sample iteration with single block arg (not tuple)
2022-01-26 13:14:30 -07:00
Michael Miller
d6112bd2dd
Rip out mocks
2022-01-26 12:41:41 -07:00
Michael Miller
4057089c20
Support multiple block arguments in sample block
...
https://github.com/icy-arctic-fox/spectator/issues/41#issuecomment-1010192486
2022-01-11 15:53:53 -07:00
Michael Miller
dd49fe3a67
Support string interpolation for example names
2022-01-10 21:29:05 -07:00
Michael Miller
aabec269cb
Raise compilation error for string interpolation in group name
2022-01-10 21:11:28 -07:00
Michael Miller
07aa968d68
Report failed expectation line
...
In output listing the failures, the comment line now shows the failed expectation line.
Previously this showed the example's source line.
2022-01-03 18:47:56 -07:00
Michael Miller
4d81031274
Fix usage of 'expect' outside test block
...
Previously gave weird runtime erorr about mismatched groups.
Now correctly produces a compilation error.
2021-12-13 02:42:02 -07:00
Michael Miller
d9269e17a8
Better implementation of explicit subject
2021-12-02 01:57:34 -07:00
Michael Miller
315a318d7d
Explicit "provided" block description
...
Implements https://gitlab.com/arctic-fox/spectator/-/issues/69
2021-12-01 19:11:36 -07:00
Michael Miller
59ce312341
Fix typos and spelling
2021-11-28 15:45:17 -07:00
Michael Miller
f1f1659836
Fix adding stubs to class methods on mocked types
2021-10-11 23:03:50 -06:00
Michael Miller
5692a77a1b
Update naming from partial to target
2021-10-11 23:03:12 -06:00
Michael Miller
53f7c94e8a
Add missing negation variants for method stubs
2021-10-11 22:39:16 -06:00
Michael Miller
36354082c7
Pass arguments to original/fallback for stubbed top-level methods
...
Addresses https://github.com/icy-arctic-fox/spectator/issues/36
2021-09-28 19:02:42 -06:00
Michael Miller
a95c5bcab7
Better handling with be
match against Value types and nil
...
Releates to https://github.com/icy-arctic-fox/spectator/issues/37
2021-09-28 18:22:41 -06:00
Michael Miller
99ced17516
Handle undefined methods with have_attributes matcher
...
Instead of producing a compilation error on missing/undefind methods,
substitute in an "undefined" value.
This shows better output to the user.
2021-09-26 12:50:17 -06:00
Michael Miller
2f1ac1374b
Use RegexMatcher to force used =~ operator
2021-09-22 17:57:56 -06:00
Michael Miller
64b9c13436
Remove Test prefix
2021-09-22 17:53:42 -06:00
Michael Miller
627a288358
Missing doc
2021-09-20 11:01:00 -06:00
Michael Miller
a51640105c
Re-add pre- and post-condition hooks
...
Accidentally removed in hook refactoring.
Addresses https://gitlab.com/arctic-fox/spectator/-/issues/62
2021-09-16 09:01:51 -06:00
Todd Sundsted
a3b7f5f4b1
Handle directories with spaces in the path/filename
2021-09-16 09:02:34 -04:00
Michael Miller
632845574f
Stringify tags
...
Addresses https://gitlab.com/arctic-fox/spectator/-/issues/61
2021-09-11 16:05:20 -06:00
Michael Miller
09dcbdb383
Fix dumb with JUnit and HTML output
2021-08-19 13:55:58 -06:00
Michael Miller
09414e611b
Brighten yellow for pending
2021-08-19 13:45:22 -06:00
Michael Miller
e037e42fa7
Fix links to examples not working
2021-08-19 13:14:53 -06:00
Michael Miller
f5ec9ccff6
CSS!
...
The HTML report looks beautiful.
2021-08-19 13:07:15 -06:00
Michael Miller
efca1409c6
Fix dumb
2021-08-19 13:00:51 -06:00
Michael Miller
708fd692ae
Add actual label to match data description
2021-08-19 11:46:07 -06:00
Michael Miller
babc7ebc3a
Tweaks
2021-08-18 22:15:50 -06:00
Michael Miller
18b42304c9
Use lists and fix some issues
2021-08-18 18:18:18 -06:00
Michael Miller
dd0ef01369
Initial code for HTML formatter
2021-08-18 17:50:09 -06:00
Michael Miller
f4fc599a1d
Add display_name convenience method
2021-08-18 17:47:20 -06:00
Michael Miller
c49522a791
Allow tags on top-level groups
2021-08-18 15:57:22 -06:00
Michael Miller
21d14bd814
Add f-prefix variants of groups and examples
...
For instance: `fit` for `it "...", :focus`
2021-08-18 13:55:21 -06:00
Michael Miller
2b27ea5a01
Quick implementation of filter_run_when_matching
...
Needed for focus tests.
2021-08-18 13:46:54 -06:00
Michael Miller
fd4812207a
Whitespace
2021-08-18 11:27:06 -06:00
Michael Miller
1e82608500
Add methods matching RSpec for configuring include and exclude tags
2021-08-17 23:40:58 -06:00
Michael Miller
c209fe7259
Add ascend methods
2021-08-17 22:10:01 -06:00
Michael Miller
8d366bf637
Fully implemented test filtering by tags
...
Addresses https://gitlab.com/arctic-fox/spectator/-/issues/16
2021-08-17 21:54:01 -06:00
Michael Miller
a9a46c76ad
Support tag filtering with value
2021-08-17 21:34:26 -06:00
Michael Miller
b79dd4361e
Initial implementation of tag filtering
2021-08-17 20:52:06 -06:00
Michael Miller
38ea2e7f96
Address Ameba issue
2021-08-17 15:02:34 -06:00
Michael Miller
94d5c96e7d
Implement an example filter that supports matching groups
...
Addresses https://gitlab.com/arctic-fox/spectator/-/issues/25 and
https://github.com/icy-arctic-fox/spectator/issues/24
2021-08-17 14:09:37 -06:00
Michael Miller
65799fdd3b
Pass along end line
2021-08-17 13:49:58 -06:00
Michael Miller
67b4c0589b
Implement NodeIterator
2021-08-17 12:55:49 -06:00
Michael Miller
cf7d67c972
Simplify ExampleIterator and remove unecessary allocations
2021-08-17 12:55:22 -06:00
Michael Miller
837e4cb85d
Implement Indexable(Node) on ExampleGroup
2021-08-17 12:54:36 -06:00
Michael Miller
4e5a52215a
Simplify
2021-08-16 20:27:27 -06:00
Michael Miller
3803d4582c
Use Iterable(Node) instead of ExampleGroup
2021-08-16 20:27:21 -06:00
Michael Miller
aa81f1d948
Change ExampleFilter to a NodeFilter
...
Node filters may operate on example groups as well as examples.
2021-08-08 12:13:59 -06:00
Michael Miller
0f7a9ed9e8
Remove append and prepend variants of hook definition methods
...
RSpec defines these as applying to a scope (example, context, suite) as
opposed to example group.
Mimicing this is currently not possible in Spectator and would require a
substantial restructure of how hooks are handled.
This may be implemented in the future.
2021-08-08 11:50:30 -06:00
Michael Miller
91d21b38e2
Lazily initialize global DSL spec builder
...
Require config to create a spec builder.
Config should be fully set up before any DSL is encountered.
2021-08-08 11:25:06 -06:00
Michael Miller
605b82c532
Add prepend and append variants of hooks to DSL
2021-08-08 10:51:39 -06:00
Michael Miller
841efc236d
Fix flipped append/prepend of "after" hooks
2021-08-08 10:27:34 -06:00
Michael Miller
b9f0a31a4a
Overhaul hooks
...
Mostly cleanup and make managing hooks simpler, hopefully.
Tests indicate this configuration matches hook execution order of RSpec.
2021-08-07 21:45:49 -06:00
Michael Miller
10b652f4b5
Remove unique/temp names
2021-07-31 19:11:51 -06:00
Michael Miller
3dc3b88dbe
Add "after" hooks in reverse order to match RSpec
2021-07-31 15:48:54 -06:00
Michael Miller
edcb5118e6
Show pending count only if there are pending examples
2021-07-31 15:02:21 -06:00
Michael Miller
abe78410c4
Formatting
2021-07-31 14:18:59 -06:00
Michael Miller
868aa1d00a
Support custom handling of hooks
2021-07-31 14:16:39 -06:00
Michael Miller
f53ffabf6b
Support label for aggregate_failures block
2021-07-31 12:04:43 -06:00
Michael Miller
4c125d98d4
Implement aggregate_failures
2021-07-31 11:56:53 -06:00
Michael Miller
9a97596b84
Allow named arguments in provided
block
2021-07-31 10:15:16 -06:00
Michael Miller
ef1832721c
Remove unecessary branch
2021-07-20 18:29:26 -06:00
Michael Miller
e8413db33f
Support custom messages for failed expectations
...
Fixes https://gitlab.com/arctic-fox/spectator/-/issues/28
2021-07-17 17:42:25 -06:00
Michael Miller
0c4379c731
Formatting
2021-07-17 16:55:43 -06:00
Michael Miller
e60cc2a447
Phrasing
2021-07-17 16:41:49 -06:00
Michael Miller
eda4328a92
Blank line after stack trace
2021-07-17 16:35:35 -06:00
Michael Miller
52a0ae938a
Consistency with location and location?
2021-07-17 16:34:15 -06:00
Michael Miller
e316dd8a11
Fix missing example location in output
2021-07-17 16:27:38 -06:00
Michael Miller
6c6dff363b
Track source location of pending result
2021-07-17 16:25:32 -06:00
Michael Miller
7cb1545e83
Don't use failure location in failed example block output
...
This is problematic, since the failure could have ocurred outside the
example block (in a method call).
The comment line under the failure details will still point to the
result location, if it's available.
2021-07-17 16:15:11 -06:00
Michael Miller
81f1966417
Use location instead of source
2021-07-17 16:12:10 -06:00
Michael Miller
7e2b267e93
Use failure location in output if available
...
Fixes https://gitlab.com/arctic-fox/spectator/-/issues/57
2021-07-17 16:04:19 -06:00
Michael Miller
f75991f34c
Formatting
2021-07-17 15:21:15 -06:00
Michael Miller
937b084f66
Support defining hooks in configuration block
2021-07-17 15:20:58 -06:00
Michael Miller
009266c8c2
Fix naming of hook methods when using a block
2021-07-17 14:32:55 -06:00
Michael Miller
a810eef16c
Add before_suite
and after_suite
2021-07-17 14:19:16 -06:00
Michael Miller
af13a89257
Pass along fallback reason
2021-07-17 14:04:17 -06:00
Michael Miller
1b53607f8e
Cleanup and add docs
2021-07-17 14:01:27 -06:00
Michael Miller
571bc7d8a5
Reuse iterative example group macro code
...
Add support for x prefix to skip sample and random_sample groups.
2021-07-17 13:25:38 -06:00
Michael Miller
e506c6b981
Implement random_sample
2021-07-17 13:05:03 -06:00
Michael Miller
9d72d26630
Handle sample count
2021-07-17 12:49:11 -06:00
Michael Miller
76a23131cb
More checks for missing block in DSL
...
Improved some error messages.
2021-07-17 12:36:21 -06:00
Michael Miller
640857bef2
Pretty up iterative group names
2021-07-17 12:15:41 -06:00
Michael Miller
d8e9d3128a
Fetch iteration item from group
2021-07-17 12:07:04 -06:00
Michael Miller
c79cb62a61
Quick implementation of iterative group builder
2021-07-17 12:06:53 -06:00
Michael Miller
c24c2cb5e1
Quick implementation of node builders
2021-07-17 11:10:44 -06:00
Michael Miller
c7a90b3e64
Shorten names and cleanup
2021-07-17 10:47:16 -06:00
Michael Miller
6c55301d0b
Merge remote-tracking branch 'origin/master' into release/0.10
2021-07-11 00:16:25 -06:00
Michael Miller
01672fc073
Bump version to 0.9.40
2021-07-10 23:16:05 -06:00
Michael Miller
4d030fb85a
Fix no_args being passed incorrectly
2021-07-10 22:43:54 -06:00
Michael Miller
d9bb8e33fe
Fix finding stubs on types (static methods)
2021-07-10 22:41:10 -06:00
Michael Miller
23fd075d51
Add stub when using expect().to receive()
...
This appears to match RSpec's behavior.
2021-07-10 20:28:51 -06:00
Michael Miller
384fb3093f
Allow stubs returning nil to be used on NoReturn calls
2021-07-10 20:19:10 -06:00
Michael Miller
e47ae613a5
Check for and allow expected exits
2021-07-10 19:27:01 -06:00
Michael Miller
35cb0b527e
Use ExampleFailed instead of ExpectationFailed
2021-07-10 18:15:01 -06:00
Michael Miller
5f61a24656
Provide default stub for Process.exit
...
Prevent terminating the process from within a test.
2021-07-10 14:18:07 -06:00
Michael Miller
294bd61a25
Don't force top-level namespace
2021-07-10 14:17:14 -06:00
Michael Miller
b07e13aeb4
Remove custom handling of NoReturn
2021-07-10 13:57:23 -06:00
Michael Miller
a395e26bae
Revert "Fix methods not being stubbed with expect().to receive
syntax"
...
This reverts commit 1c865d1f4b
.
2021-07-10 13:21:21 -06:00
Michael Miller
06f9f380c9
Workaround for stubbing NoReturn method with Nil
...
Fixes spec/issues/github_issue_29_spec.cr:15
2021-07-10 12:54:09 -06:00
Michael Miller
aa12cdf17c
Introduce non-expectation error ExampleFailed
...
Used by fail method.
Still todo: Output from failed example is missing because there are no
expectations.
2021-07-10 03:32:55 -06:00
Michael Miller
ccedcdac42
Use getter! macro
2021-07-10 03:31:22 -06:00
Michael Miller
82f26dbb91
Don't return nil for NoReturn stubs
...
Raise instead, which prevents making the method's return type nilable.
2021-07-08 11:36:07 -06:00
Michael Miller
aee5897922
Fix comma placement
2021-07-06 23:32:51 -06:00
Michael Miller
7081c168a5
Missing comma
2021-07-05 22:36:37 -06:00
Michael Miller
3e4079d408
Remove Spec namespace
2021-07-05 11:49:16 -06:00
Michael Miller
6a01ab3531
Merge master into release/0.10
2021-07-05 11:32:45 -06:00
Michael Miller
78de2be994
Bump version to 0.9.39
2021-07-02 21:59:16 -06:00
Michael Miller
92dbfc2a8e
Avoid calling NoReturn methods
2021-07-02 21:52:56 -06:00
Michael Miller
1c865d1f4b
Fix methods not being stubbed with expect().to receive
syntax
2021-07-02 21:45:16 -06:00
Michael Miller
83ab5f56f0
Use previous_def if method was defined in class
2021-07-02 21:01:41 -06:00
Michael Miller
a0537484f4
Allow creation of doubles without a definition
...
Utilizes anonymous doubles to implement this.
Fixes https://github.com/icy-arctic-fox/spectator/issues/30
2021-07-02 19:18:14 -06:00
Michael Miller
d4e2954725
Remove Nop checks
2021-07-02 18:56:24 -06:00
Michael Miller
e3f6fb3c7c
Add no_args support for stubs
...
Fixes https://github.com/icy-arctic-fox/spectator/issues/28
2021-07-02 18:43:39 -06:00
Michael Miller
9b01771c67
Fix missing setup log messages
2021-06-19 12:05:45 -06:00
Michael Miller
989f53c6d6
Initial code for sample groups
2021-06-19 11:57:56 -06:00
Michael Miller
44ade24fb7
Generate context one or more times
...
This is necessary for iterative (sample) groups so they don't share a
context.
2021-06-19 11:33:26 -06:00
Michael Miller
4b8d28c916
Wording on compiler error for block args
2021-06-19 10:54:31 -06:00
Michael Miller
1f91836de1
Use block to create examples
...
Seems that nodes can't be duped/cloned easily.
2021-06-13 14:45:01 -06:00
Michael Miller
4ff27defff
Initial code for iterative (sample) groups
2021-06-13 13:16:31 -06:00
Michael Miller
e51ad6d504
Check if provided
and given
are used in a method
2021-06-12 17:06:43 -06:00
Michael Miller
04d6c70f59
Cleaner distinction between metadata and tags
2021-06-12 16:45:45 -06:00
Michael Miller
704c28e822
Reimplement given
as provided
and deprecate
...
The behavior is slightly different now.
Nested example blocks aren't allowed in `provided`.
The block produces one example, not multiple.
2021-06-12 16:23:38 -06:00
Michael Miller
71a5c39f6c
Use skip instead of pending tag
...
Specify default reason for skipping groups.
2021-06-12 12:14:19 -06:00
Michael Miller
02a4b2946e
Display failed expectations and error if an example had both
2021-06-12 12:10:44 -06:00
Michael Miller
621ddb466f
Support output of multiple failed expectations
2021-06-12 11:59:57 -06:00
Michael Miller
88f0c23a3e
Add support for sub-index in result blocks
2021-06-12 11:40:21 -06:00
Michael Miller
dcdb87e31a
Output match data to XML
2021-06-12 11:24:21 -06:00
Michael Miller
ba3a03736e
Show match data in failure block
2021-06-12 11:08:46 -06:00
Michael Miller
a5ed5d0fb1
Pass exception failure message to error
2021-06-12 10:33:28 -06:00
Michael Miller
2407c43132
Only show "Not yet implemented" for missing test block
2021-06-12 09:53:42 -06:00
Michael Miller
bfbeaf7454
Default reason for missing example block "Not yet implemented"
2021-06-11 21:16:46 -06:00
Michael Miller
6f4cc12dfd
Mark example pending if block is omitted
2021-06-11 21:03:46 -06:00
Michael Miller
117ed90185
Fix DSL usage of tags
...
Ensure parent tags don't get modified by duplicating the hash.
Force tag value to string.
2021-06-11 20:22:08 -06:00
Michael Miller
a061bd2044
Check pending, skip, and reason tags for reason
2021-06-11 19:29:29 -06:00
Michael Miller
12cba23fa3
Treat skip tag as pending
2021-06-11 19:03:16 -06:00
Michael Miller
14d45756e9
Consolidate default pending reason
2021-06-11 18:59:10 -06:00
Michael Miller
4f2df78c34
Deprecate current behavior of pending blocks
2021-06-11 18:55:56 -06:00
Michael Miller
b43b09f46d
Change order of pending result parameters
2021-06-11 18:31:41 -06:00
Michael Miller
3b1db7b772
Pass along pending tag value if available
2021-06-11 18:30:12 -06:00
Michael Miller
4a9ec3df4a
Store tags with an optional string value
2021-06-11 18:26:55 -06:00
Michael Miller
d9088b39ca
Add skip message when using xit (and variants)
2021-06-11 18:11:46 -06:00
Michael Miller
5a2a71ffe8
Pass and output along reason for pending/skip result
2021-06-09 22:15:15 -06:00
Michael Miller
8d73434e0b
Add ability to mark example skipped/pending mid-test
2021-06-09 21:57:17 -06:00
Michael Miller
ab6487cbfa
Merge branch 'release/0.10' into pending
2021-06-05 22:44:54 -06:00
Michael Miller
b9d77321b3
Fix premature call of after_all hook
2021-06-05 22:44:34 -06:00
Michael Miller
a08d5202fe
Implement pending examples as lighweight examples
...
Drop test code block if a pending, skip, or x-prefix macro is used.
2021-06-05 12:51:46 -06:00
Michael Miller
15c5b0991d
Fix doc
2021-06-02 23:54:38 -06:00
Michael Miller
12f06abf11
Move profile JSON formatting into Profile class
2021-06-02 23:51:53 -06:00
Michael Miller
bd34b87e22
Simplify JSON formatter by reusing Example's to_json
2021-06-02 23:44:36 -06:00
Michael Miller
8536fcf58c
Fix full_description being an object
2021-06-02 23:41:23 -06:00
Michael Miller
98ba607583
Dumb whitespace
2021-06-02 23:37:01 -06:00
Michael Miller
835fa40773
Handle nil location
2021-06-02 23:35:41 -06:00
Michael Miller
39e917ce57
Consistent location fields
2021-06-02 23:09:30 -06:00
Michael Miller
8f3a7c0a5a
Basically done JSON formatter
2021-06-02 22:48:48 -06:00
Michael Miller
fa3e9dd34d
Implement JUnit formatter
2021-05-30 15:02:30 -06:00
Michael Miller
e30d5c1981
Use multiple << on a single line
2021-05-30 14:21:42 -06:00
Michael Miller
0a7909fb7a
Cleanup
2021-05-30 10:44:09 -06:00
Michael Miller
877831a98b
Add docs
2021-05-30 10:17:49 -06:00
Michael Miller
a4042a9684
Extend PendingBlock from ResultBlock and rename to PendingResultBlock
2021-05-30 10:02:25 -06:00
Michael Miller
7215e28d75
Implement TAP formatter
2021-05-29 23:09:28 -06:00
Michael Miller
40e189a1d1
Fix method name
2021-05-29 23:09:18 -06:00
Michael Miller
48fb293ba0
Define notification type for messages
2021-05-29 22:59:56 -06:00
Michael Miller
76c525de52
Fix call to example_finished
2021-05-29 22:47:53 -06:00
Michael Miller
f02e1acb3b
Remove lazy iteration
...
Fixes issue with empty? method eating the first example for failure and
pending lists.
2021-05-29 18:35:01 -06:00
Michael Miller
5e1ca34146
Fix pending results not being counted
2021-05-29 17:59:16 -06:00
Michael Miller
6d8d117ec2
Handle nodes with no name
2021-05-29 17:50:30 -06:00
Michael Miller
4a44d038fb
Re-enable desired logging on framework error
2021-05-29 17:45:49 -06:00
Michael Miller
fccd55ed0a
Improve appearance of multi-line error messages
2021-05-29 17:33:45 -06:00
Michael Miller
76dd5603de
Fix harness not updating current
2021-05-29 17:13:14 -06:00
Michael Miller
71d0af7cd5
Merge branch 'release/0.10' into reporting
2021-05-29 16:57:22 -06:00
Michael Miller
39c95397fd
Merge branch 'master' into release/0.10
2021-05-29 16:56:57 -06:00
Michael Miller
92f758084d
Bump version to 0.9.38
2021-05-27 15:20:11 -06:00
Michael Miller
edb18dcf95
Fix for default logger being cleaned up before Spectator runs
...
Resolves https://github.com/icy-arctic-fox/spectator/issues/27
2021-05-27 15:17:27 -06:00
Michael Miller
99378c0f36
Merge branch 'release/0.10' into reporting
2021-05-19 20:15:51 -06:00
Michael Miller
a3305a9273
Merge branch 'master' into release/0.10
2021-05-19 20:15:36 -06:00
Michael Miller
55398709de
Bump version to 0.9.37
2021-05-19 19:51:08 -06:00
Michael Miller
e3576c8924
Add support for be ===
and be =~
...
Addresses https://github.com/icy-arctic-fox/spectator/issues/26
2021-05-19 19:46:46 -06:00
Michael Miller
453f6a2fce
Cleanup
2021-05-18 20:10:02 -06:00
Michael Miller
867c06bd67
Initial working document formatter
2021-05-18 20:01:58 -06:00
Michael Miller
1e2f3f7c66
Use index offset argument
2021-05-18 19:38:04 -06:00
Michael Miller
1addc46f7e
Remove parameter from stop method
2021-05-18 19:03:40 -06:00
Michael Miller
c0befe63e9
Don't use random seed unless randomized
2021-05-18 18:50:43 -06:00
Michael Miller
b970abd334
Limit generated seed to < 100,000
2021-05-16 20:39:35 -06:00
Michael Miller
1525317e2c
Pass along and output random seed
2021-05-16 20:38:02 -06:00
Michael Miller
36f9f2b434
Return true from run method if successful
2021-05-16 20:23:16 -06:00
Michael Miller
ebf04b360e
Add profiling info
2021-05-16 20:21:04 -06:00
Michael Miller
4bb4c2f16e
Dump profile before summary
2021-05-16 19:52:53 -06:00
Michael Miller
aa13b077f3
No need to type restrict io method
2021-05-16 19:47:07 -06:00
Michael Miller
1e3e0daa04
Place error count in parens next to failures
2021-05-16 19:42:15 -06:00
Michael Miller
aee171656a
Fix '<anonymous>' showing up for root group
2021-05-16 19:37:45 -06:00
Michael Miller
84ac41967b
Formatting
2021-05-16 19:29:20 -06:00
Michael Miller
cc09cb1b77
Cleanup and consolidate common code for result blocks
2021-05-16 19:28:59 -06:00
Michael Miller
f81c498aef
Add error block component
2021-05-16 17:14:09 -06:00
Michael Miller
ed3ad662d2
Move failure command list to its own component
2021-05-16 17:13:06 -06:00