true 0.1.3 → 0.1.4
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.
- data/CHANGELOG.md +5 -0
- data/README.md +3 -4
- data/sass/true/_modules.scss +15 -10
- data/sass/true/_results.scss +49 -11
- data/sass/true/_tests.scss +3 -27
- metadata +4 -4
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
True Changelog
|
2
2
|
==============
|
3
3
|
|
4
|
+
0.1.4 (6/9/13)
|
5
|
+
--------------
|
6
|
+
- Null result is considered a failure.
|
7
|
+
- Allow output to be turned off for certain modules/tests/assertions.
|
8
|
+
|
4
9
|
0.1.3 (6/7/13)
|
5
10
|
--------------
|
6
11
|
- Nest assertions within `test() {}` named tests.
|
data/README.md
CHANGED
@@ -3,10 +3,9 @@ True
|
|
3
3
|
|
4
4
|
A testing framework for compass/sass libraries.
|
5
5
|
|
6
|
-
At this point
|
7
|
-
True
|
8
|
-
|
9
|
-
than the actual property-value css output.
|
6
|
+
At this point
|
7
|
+
True can only test values,
|
8
|
+
not property/value output.
|
10
9
|
|
11
10
|
Install
|
12
11
|
-------
|
data/sass/true/_modules.scss
CHANGED
@@ -5,34 +5,39 @@ $test-module-results : null;
|
|
5
5
|
|
6
6
|
// Establish a new test module
|
7
7
|
@mixin test-module(
|
8
|
-
$name
|
8
|
+
$name,
|
9
|
+
$output: true
|
9
10
|
) {
|
10
11
|
// Setup
|
11
12
|
$test-result-context: module;
|
12
13
|
$test-module-results: compact();
|
13
14
|
|
14
|
-
@
|
15
|
+
@if $output {
|
16
|
+
@include result-message('
|
15
17
|
|
16
18
|
### #{$name} ------', css);
|
19
|
+
}
|
17
20
|
|
18
21
|
// Content
|
19
22
|
@content;
|
20
23
|
|
21
24
|
// Results
|
22
|
-
$
|
23
|
-
|
24
|
-
|
25
|
-
|
25
|
+
@if $output {
|
26
|
+
$results: collate-results($test-module-results);
|
27
|
+
$total: nth($results, 1);
|
28
|
+
$pass: nth($results, 2);
|
29
|
+
$fail: nth($results, 3);
|
26
30
|
|
27
|
-
|
28
|
-
|
31
|
+
$debug-message: '#{$name}: #{$total} Tests, #{$pass} Passed, #{$fail} failed';
|
32
|
+
@include result-message($debug-message, debug);
|
29
33
|
|
30
|
-
|
34
|
+
$css-message: '
|
31
35
|
Summary:
|
32
36
|
- #{$total} Tests
|
33
37
|
- #{$pass} Passed
|
34
38
|
- #{$fail} Failed';
|
35
|
-
|
39
|
+
@include result-message($css-message, css);
|
40
|
+
}
|
36
41
|
|
37
42
|
// Teardown
|
38
43
|
$test-result-context: null;
|
data/sass/true/_results.scss
CHANGED
@@ -1,12 +1,17 @@
|
|
1
1
|
// Results
|
2
2
|
// =======
|
3
3
|
|
4
|
-
$test-result-context: null;
|
4
|
+
$test-result-context : null;
|
5
5
|
|
6
|
-
$pass-marker
|
7
|
-
$fail-marker
|
6
|
+
$pass-marker : p;
|
7
|
+
$fail-marker : f;
|
8
|
+
|
9
|
+
$test-pass-message : '.' !default;
|
10
|
+
$test-fail-message : 'F' !default;
|
8
11
|
|
9
12
|
// Collate test results
|
13
|
+
// --------------------
|
14
|
+
|
10
15
|
@function collate-results(
|
11
16
|
$results
|
12
17
|
) {
|
@@ -22,7 +27,10 @@ $fail-marker : f;
|
|
22
27
|
@return $total $pass $fail;
|
23
28
|
}
|
24
29
|
|
25
|
-
|
30
|
+
|
31
|
+
// Record test results
|
32
|
+
// -------------------
|
33
|
+
|
26
34
|
@mixin record-result(
|
27
35
|
$result,
|
28
36
|
$context: $test-result-context
|
@@ -43,24 +51,54 @@ $fail-marker : f;
|
|
43
51
|
}
|
44
52
|
}
|
45
53
|
|
54
|
+
|
55
|
+
// Report test results
|
56
|
+
// -------------------
|
57
|
+
|
58
|
+
@mixin report-test(
|
59
|
+
$name,
|
60
|
+
$results,
|
61
|
+
$context: module,
|
62
|
+
$output: true
|
63
|
+
) {
|
64
|
+
$results: collate-results($test-results);
|
65
|
+
$total: nth($results, 1);
|
66
|
+
$pass: nth($results, 2);
|
67
|
+
$fail: nth($results, 3);
|
68
|
+
|
69
|
+
$message: '#{$name} (#{$total} assertions, #{$pass} passed, #{$fail} failed)';
|
70
|
+
|
71
|
+
@if $fail > 0 or $pass < 1 {
|
72
|
+
$fail-message: '- FAIL: ' + $message;
|
73
|
+
@include fail($fail-message, $context, $output: $output);
|
74
|
+
@if $output { @include result-message('FAIL: ' + $message, css); }
|
75
|
+
}
|
76
|
+
@else {
|
77
|
+
$pass-message: '- ' + $message;
|
78
|
+
@include pass($test-pass-message, $context, $output: $output);
|
79
|
+
@if $output { @include result-message($pass-message, css); }
|
80
|
+
}
|
81
|
+
|
82
|
+
}
|
83
|
+
|
84
|
+
|
46
85
|
// Pass / Fail
|
47
86
|
// -----------
|
48
87
|
|
49
|
-
$test-pass-message : '.' !default;
|
50
|
-
$test-fail-message : 'F' !default;
|
51
|
-
|
52
88
|
@mixin pass(
|
53
89
|
$pass: $test-pass-message,
|
54
|
-
$context: $test-result-context
|
90
|
+
$context: $test-result-context,
|
91
|
+
$output: true
|
55
92
|
) {
|
56
93
|
@include record-result(pass, $context);
|
57
|
-
@include result-message($pass, debug);
|
94
|
+
@if $output { @include result-message($pass, debug); }
|
58
95
|
}
|
59
96
|
|
60
97
|
@mixin fail(
|
61
98
|
$fail: $test-fail-message,
|
62
|
-
$context: $test-result-context
|
99
|
+
$context: $test-result-context,
|
100
|
+
$output: true
|
63
101
|
) {
|
64
102
|
@include record-result(fail, $context);
|
65
|
-
@include result-message($fail, warn);
|
103
|
+
@if $output { @include result-message($fail, warn); }
|
66
104
|
}
|
data/sass/true/_tests.scss
CHANGED
@@ -5,7 +5,8 @@ $test-results: null;
|
|
5
5
|
|
6
6
|
// Establish a new test
|
7
7
|
@mixin test(
|
8
|
-
$name
|
8
|
+
$name,
|
9
|
+
$output: true
|
9
10
|
) {
|
10
11
|
// Setup
|
11
12
|
$test-results: compact();
|
@@ -19,33 +20,8 @@ $test-results: null;
|
|
19
20
|
$test-result-context: $old-result-context;
|
20
21
|
|
21
22
|
// Results
|
22
|
-
@include report-test($name, $test-results, $test-result-context);
|
23
|
+
@include report-test($name, $test-results, $test-result-context, $output);
|
23
24
|
|
24
25
|
// Teardown
|
25
26
|
$test-results: null;
|
26
27
|
}
|
27
|
-
|
28
|
-
@mixin report-test(
|
29
|
-
$name,
|
30
|
-
$results,
|
31
|
-
$context
|
32
|
-
) {
|
33
|
-
$results: collate-results($test-results);
|
34
|
-
$total: nth($results, 1);
|
35
|
-
$pass: nth($results, 2);
|
36
|
-
$fail: nth($results, 3);
|
37
|
-
|
38
|
-
$message: '#{$name} (#{$total} assertions, #{$pass} passed, #{$fail} failed)';
|
39
|
-
|
40
|
-
@if $fail > 0 {
|
41
|
-
$fail-message: '- FAIL: ' + $message;
|
42
|
-
@include fail($fail-message, module);
|
43
|
-
@include result-message('FAIL: ' + $message, css);
|
44
|
-
}
|
45
|
-
@else {
|
46
|
-
$pass-message: '- ' + $message;
|
47
|
-
@include pass($test-pass-message, module);
|
48
|
-
@include result-message($pass-message, css);
|
49
|
-
}
|
50
|
-
|
51
|
-
}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: "true"
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Eric Meyer
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2013-06-
|
18
|
+
date: 2013-06-09 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: compass
|