lazy-check 1.2.0 → 1.2.2
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/Gemfile.lock +1 -1
- data/README-fr.md +20 -12
- data/README.md +46 -38
- data/lazy-check.gemspec +3 -3
- data/lib/lazy/check/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b94eebd33ad3e7cab31da966d0f1e6a9c4a715eead6612c9efa0f6927057acfb
|
4
|
+
data.tar.gz: 5046da76393bd82b079de203f1577863e3fc8f44231c72fdeed9fb4abf743dcd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83070a11c3f28ae67e42a3986e8c1ca63afebdf61483dadff04530549133b25880954e57eeb69afd959bcd6567faba5a0a7ec5758575cf804df8a6edbefc9aac
|
7
|
+
data.tar.gz: 6a4bd743a066600783021768e5f83b3162d6c1a55e0b7cabd64fac2f8a0eabb04887dcc75edae70c33cbfc254f61146c8d242eb7dce8c25da71b45fa4e91c060
|
data/Gemfile.lock
CHANGED
data/README-fr.md
CHANGED
@@ -37,7 +37,7 @@ Lazy::Checker.check(code, check)
|
|
37
37
|
# Succès 1 Failure 0 Temps ...
|
38
38
|
~~~
|
39
39
|
|
40
|
-
On peut aussi obtenir les résultats en retour de méthode (c'est un `Lazy::Checker::Reporter`)
|
40
|
+
On peut aussi obtenir les résultats en retour de méthode (c'est un `Lazy::Checker::Reporter`).
|
41
41
|
|
42
42
|
~~~ruby
|
43
43
|
Lazy::Checker.check(code, check, **{return_result: true})
|
@@ -51,7 +51,7 @@ Lazy::Checker.check(code, check, **{return_result: true})
|
|
51
51
|
Une « recette » est un fichier `YAML` qui définit l'url d'une page internet, ainsi que les checks à effectuer dessus. Cf. ci-dessous.
|
52
52
|
|
53
53
|
~~~ruby
|
54
|
-
require "lazy
|
54
|
+
require "lazy/check"
|
55
55
|
|
56
56
|
checker = Lazy::Checker.new("path/to/recipe.yaml")
|
57
57
|
checker.check
|
@@ -61,7 +61,7 @@ checker.check
|
|
61
61
|
Si la recette se trouve là où le terminal se trouve, il suffit de faire :
|
62
62
|
|
63
63
|
~~~ruby
|
64
|
-
require "lazy
|
64
|
+
require "lazy/check"
|
65
65
|
|
66
66
|
Lazy::Checker.new.check
|
67
67
|
~~~
|
@@ -83,21 +83,23 @@ tests:
|
|
83
83
|
tag: 'span#range'
|
84
84
|
empty: true
|
85
85
|
|
86
|
-
|
87
|
-
|
88
|
-
|
86
|
+
- name: "Une redirection"
|
87
|
+
url: "redirection.html"
|
88
|
+
redirect_to: "https://nouvelle.url.net"
|
89
89
|
|
90
|
-
|
91
|
-
|
92
|
-
|
90
|
+
- name: "Une page erronée"
|
91
|
+
url: "page_inexistante.html"
|
92
|
+
response: 404
|
93
93
|
~~~
|
94
94
|
|
95
95
|
### Check Properties
|
96
96
|
|
97
|
+
Les "checks" ci-dessus peuvent définir les propriétés suivantes :
|
98
|
+
|
97
99
|
~~~yaml
|
98
100
|
tag: [String] Le sélector
|
99
101
|
count: [Integer] Nombre attendu d'éléments
|
100
|
-
empty: [Bool] Si true, doit être vide
|
102
|
+
empty: [Bool] Si true, doit être vide, si false, non vide
|
101
103
|
direct_child: [Bool] Si true, doit être un enfant direct
|
102
104
|
text: [String] Le texte qui doit être contenu
|
103
105
|
contains: [String|Array] Ce que doit contenir la page
|
@@ -120,7 +122,7 @@ tests:
|
|
120
122
|
response: 200
|
121
123
|
~~~
|
122
124
|
|
123
|
-
Vérifier qu’une page contient les éléments de base
|
125
|
+
Vérifier qu’une page contient les éléments de base :
|
124
126
|
|
125
127
|
~~~yaml
|
126
128
|
# recipe.yaml
|
@@ -128,7 +130,7 @@ Vérifier qu’une page contient les éléments de base
|
|
128
130
|
name: "Check simple de l'existence des éléments de base"
|
129
131
|
base: 'https://monsite.net'
|
130
132
|
tests:
|
131
|
-
- name: "La page
|
133
|
+
- name: "La page index.html contient les éléments de base"
|
132
134
|
url: 'index.html'
|
133
135
|
checks:
|
134
136
|
- tag: 'header'
|
@@ -136,7 +138,13 @@ tests:
|
|
136
138
|
- tag: 'footer'
|
137
139
|
~~~
|
138
140
|
|
141
|
+
## Tester le gem
|
142
|
+
|
143
|
+
Lancer les tests avec :
|
139
144
|
|
145
|
+
~~~
|
146
|
+
rake test
|
147
|
+
~~~
|
140
148
|
|
141
149
|
## Development
|
142
150
|
|
data/README.md
CHANGED
@@ -37,98 +37,100 @@ Lazy::Checker.check(code, check)
|
|
37
37
|
# Success 1 Failures 0 Duration ...
|
38
38
|
~~~
|
39
39
|
|
40
|
-
|
40
|
+
You can also obtain the results in method return (this is a `Lazy::Checker::Reporter`).
|
41
41
|
|
42
42
|
~~~ruby
|
43
43
|
Lazy::Checker.check(code, check, **{return_result: true})
|
44
44
|
# => Reporter
|
45
45
|
~~~
|
46
46
|
|
47
|
-
>
|
47
|
+
> Note that in this case, nothing is written in the console.
|
48
48
|
|
49
|
-
##
|
49
|
+
## For a test with a recipe
|
50
50
|
|
51
|
-
|
51
|
+
A "recipe" is a `YAML` file that defines the url of a web page, and the checks to be performed on it. See below.
|
52
52
|
|
53
53
|
~~~ruby
|
54
|
-
require "lazy
|
54
|
+
require "lazy/check"
|
55
55
|
|
56
56
|
checker = Lazy::Checker.new("path/to/recipe.yaml")
|
57
57
|
checker.check
|
58
|
-
# =>
|
58
|
+
# => Produces the result
|
59
59
|
~~~
|
60
60
|
|
61
|
-
|
61
|
+
If the recipe is located where the terminal is, simply do:
|
62
62
|
|
63
63
|
~~~ruby
|
64
|
-
require "lazy
|
64
|
+
require "lazy/check"
|
65
65
|
|
66
66
|
Lazy::Checker.new.check
|
67
67
|
~~~
|
68
68
|
|
69
|
-
|
69
|
+
The recipe (`recipe.yaml`) defines the checks to be performed.
|
70
70
|
|
71
71
|
~~~yaml
|
72
72
|
---
|
73
|
-
name: "
|
74
|
-
base: https://www.
|
73
|
+
name: "Name for this recipe"
|
74
|
+
base: https://www.my.domain.net
|
75
75
|
tests:
|
76
|
-
- name: "
|
77
|
-
url: "" #
|
76
|
+
- name: "My first test"
|
77
|
+
url: "" # so the base
|
78
78
|
checks:
|
79
|
-
- name: "Existence
|
79
|
+
- name: "Existence of DIV#content with text"
|
80
80
|
tag: 'div#content'
|
81
81
|
empty: false
|
82
|
-
- name: "Existence
|
82
|
+
- name: "Existence of SPAN#range without text"
|
83
83
|
tag: 'span#range'
|
84
84
|
empty: true
|
85
85
|
|
86
|
-
|
87
|
-
|
88
|
-
|
86
|
+
- name: "A redirection"
|
87
|
+
url: "redirection.html"
|
88
|
+
redirect_to: "https://new.url.net"
|
89
89
|
|
90
|
-
|
91
|
-
|
92
|
-
|
90
|
+
- name: "A wrong page"
|
91
|
+
url: "page_unfound.html"
|
92
|
+
response: 404
|
93
93
|
~~~
|
94
94
|
|
95
95
|
### Check Properties
|
96
96
|
|
97
|
+
The above "checks" can define the following properties:
|
98
|
+
|
97
99
|
~~~yaml
|
98
|
-
tag: [String]
|
99
|
-
count: [Integer]
|
100
|
-
empty: [Bool]
|
101
|
-
direct_child: [Bool]
|
102
|
-
text: [String]
|
103
|
-
contains: [String|Array]
|
104
|
-
min_length: [Integer]
|
105
|
-
max_length: [Integer]
|
100
|
+
tag: [String] The selector
|
101
|
+
count: [Integer] Expected number of elements
|
102
|
+
empty: [Bool] If true, must be empty, if false, must be non-empty
|
103
|
+
direct_child: [Bool] If true, must be a direct child
|
104
|
+
text: [String] The text that must be contained
|
105
|
+
contains: [String|Array] What the page should contain
|
106
|
+
min_length: [Integer] Minimum content length (text only)
|
107
|
+
max_length: [Integer] Maximum content length (text only)
|
106
108
|
~~~
|
107
109
|
|
108
|
-
##
|
110
|
+
## Examples
|
109
111
|
|
110
|
-
|
112
|
+
Simply check that a page responds correctly:
|
111
113
|
|
112
114
|
~~~yaml
|
113
115
|
# recipe.yaml
|
114
116
|
---
|
115
|
-
name: "
|
116
|
-
base: 'https://
|
117
|
+
name: "Page exists"
|
118
|
+
base: 'https://mywebsite.net'
|
117
119
|
tests:
|
118
|
-
- name: "
|
120
|
+
- name: "The index.html page exists and responds correctly"
|
119
121
|
url: 'index.html'
|
120
122
|
response: 200
|
121
123
|
~~~
|
122
124
|
|
123
|
-
|
125
|
+
Check that a page contains the basic elements.
|
124
126
|
|
125
127
|
~~~yaml
|
126
128
|
# recipe.yaml
|
127
129
|
---
|
128
|
-
name: "
|
129
|
-
base: 'https://
|
130
|
+
name: "Simple check on the existence of basic elements"
|
131
|
+
base: 'https://mywebsite.net'
|
130
132
|
tests:
|
131
|
-
- name: "
|
133
|
+
- name: "The index.html page contains the basic elements"
|
132
134
|
url: 'index.html'
|
133
135
|
checks:
|
134
136
|
- tag: 'header'
|
@@ -136,7 +138,13 @@ tests:
|
|
136
138
|
- tag: 'footer'
|
137
139
|
~~~
|
138
140
|
|
141
|
+
## Tests
|
142
|
+
|
143
|
+
Run the tests:
|
139
144
|
|
145
|
+
~~~
|
146
|
+
rake test
|
147
|
+
~~~
|
140
148
|
|
141
149
|
## Development
|
142
150
|
|
data/lazy-check.gemspec
CHANGED
@@ -3,11 +3,11 @@ require_relative 'lib/lazy/check/version'
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "lazy-check"
|
5
5
|
s.version = Lazy::Check::VERSION
|
6
|
-
s.authors = ["
|
6
|
+
s.authors = ["Philippe Perret"]
|
7
7
|
s.email = ["philippe.perret@yahoo.fr"]
|
8
8
|
|
9
|
-
s.summary = %q{
|
10
|
-
s.description = %q{
|
9
|
+
s.summary = %q{Check lazilly your web site pages}
|
10
|
+
s.description = %q{This gem is a lazy but serious way of testing that a website is valid in terms of its pages and content.}
|
11
11
|
s.homepage = "https://rubygems.org/gems/lazy-check"
|
12
12
|
s.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
|
13
13
|
|
data/lib/lazy/check/version.rb
CHANGED
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lazy-check
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Philippe Perret
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
@@ -66,8 +66,8 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
description:
|
70
|
-
|
69
|
+
description: This gem is a lazy but serious way of testing that a website is valid
|
70
|
+
in terms of its pages and content.
|
71
71
|
email:
|
72
72
|
- philippe.perret@yahoo.fr
|
73
73
|
executables: []
|
@@ -128,5 +128,5 @@ requirements: []
|
|
128
128
|
rubygems_version: 3.1.6
|
129
129
|
signing_key:
|
130
130
|
specification_version: 4
|
131
|
-
summary:
|
131
|
+
summary: Check lazilly your web site pages
|
132
132
|
test_files: []
|