extjs-mvc 0.4.0.f → 0.4.0.g

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. data/Rakefile +2 -2
  2. data/VERSION +1 -1
  3. data/bin/extjs-mvc +0 -3
  4. data/lib/extjs-mvc.rb +10 -6
  5. data/lib/extjs-mvc/api.rb +0 -1
  6. metadata +8 -84
  7. data/lib/src/App.js +0 -219
  8. data/lib/src/MVC.js +0 -260
  9. data/lib/src/Presenter.js +0 -52
  10. data/lib/src/README.rdoc +0 -69
  11. data/lib/src/controller/Controller.js +0 -278
  12. data/lib/src/controller/CrudController.js +0 -460
  13. data/lib/src/lib/Array.js +0 -26
  14. data/lib/src/lib/Booter.js +0 -416
  15. data/lib/src/lib/ClassManager.js +0 -191
  16. data/lib/src/lib/ControllerClassManager.js +0 -95
  17. data/lib/src/lib/Dependencies.js +0 -44
  18. data/lib/src/lib/DispatchMatcher.js +0 -98
  19. data/lib/src/lib/Dispatcher.js +0 -129
  20. data/lib/src/lib/Environment.js +0 -43
  21. data/lib/src/lib/Inflector.js +0 -155
  22. data/lib/src/lib/ModelClassManager.js +0 -19
  23. data/lib/src/lib/Route.js +0 -139
  24. data/lib/src/lib/Router.js +0 -282
  25. data/lib/src/lib/String.js +0 -94
  26. data/lib/src/lib/ViewClassManager.js +0 -229
  27. data/lib/src/lib/notes.txt +0 -32
  28. data/lib/src/model/AdapterManager.js +0 -30
  29. data/lib/src/model/Association.js +0 -26
  30. data/lib/src/model/Base.js +0 -63
  31. data/lib/src/model/BelongsToAssociation.js +0 -116
  32. data/lib/src/model/Cache.js +0 -131
  33. data/lib/src/model/HasManyAssociation.js +0 -160
  34. data/lib/src/model/Model.js +0 -331
  35. data/lib/src/model/UrlBuilder.js +0 -106
  36. data/lib/src/model/adapters/AbstractAdapter.js +0 -296
  37. data/lib/src/model/adapters/MemoryAdapter.js +0 -103
  38. data/lib/src/model/adapters/RESTAdapter.js +0 -345
  39. data/lib/src/model/adapters/RESTJSONAdapter.js +0 -68
  40. data/lib/src/model/adapters/notes.txt +0 -42
  41. data/lib/src/model/associations/Association.js +0 -192
  42. data/lib/src/model/associations/notes.txt +0 -87
  43. data/lib/src/model/validations/Errors.js +0 -136
  44. data/lib/src/model/validations/Plugin.js +0 -139
  45. data/lib/src/model/validations/Validations.js +0 -276
  46. data/lib/src/notes/Charts.graffle +0 -0
  47. data/lib/src/overrides/Ext.Component.js +0 -21
  48. data/lib/src/overrides/Ext.extend.js +0 -142
  49. data/lib/src/spec/Array.spec.js +0 -15
  50. data/lib/src/spec/ExtMVC.spec.js +0 -65
  51. data/lib/src/spec/Model.spec.js +0 -370
  52. data/lib/src/spec/OS.spec.js +0 -83
  53. data/lib/src/spec/Router.spec.js +0 -99
  54. data/lib/src/spec/SpecHelper.js +0 -106
  55. data/lib/src/spec/String.spec.js +0 -83
  56. data/lib/src/spec/model/AbstractAdapter.spec.js +0 -49
  57. data/lib/src/spec/model/Associations.spec.js +0 -99
  58. data/lib/src/spec/model/Cache.spec.js +0 -5
  59. data/lib/src/spec/model/RESTAdapter.spec.js +0 -19
  60. data/lib/src/spec/model/ValidationErrors.spec.js +0 -64
  61. data/lib/src/spec/model/Validations.spec.js +0 -166
  62. data/lib/src/spec/model/ValidationsPlugin.spec.js +0 -108
  63. data/lib/src/spec/suite.html +0 -60
  64. data/lib/src/specs-old/JSSpec.css +0 -216
  65. data/lib/src/specs-old/JSSpec.js +0 -1512
  66. data/lib/src/specs-old/all.html +0 -66
  67. data/lib/src/specs-old/base.js +0 -14
  68. data/lib/src/specs-old/controller.js +0 -17
  69. data/lib/src/specs-old/diff_match_patch.js +0 -1
  70. data/lib/src/specs-old/model.js +0 -70
  71. data/lib/src/specs-old/route.js +0 -38
  72. data/lib/src/specs-old/router.js +0 -59
  73. data/lib/src/specs-old/string.js +0 -22
  74. data/lib/src/testrunner/JSpecFormatter.js +0 -111
  75. data/lib/src/testrunner/TestClient.js +0 -181
  76. data/lib/src/testrunner/TestGrid.js +0 -351
  77. data/lib/src/testrunner/TestRunner.js +0 -110
  78. data/lib/src/testrunner/TestViewport.js +0 -94
  79. data/lib/src/vendor.yml +0 -29
  80. data/lib/src/vendor/ext-3.1.1/vendor.yml +0 -16
  81. data/lib/src/view/FormWindow.js +0 -184
  82. data/lib/src/view/HasManyEditorGridPanel.js +0 -211
  83. data/lib/src/view/scaffold/Edit.js +0 -46
  84. data/lib/src/view/scaffold/Index.js +0 -561
  85. data/lib/src/view/scaffold/New.js +0 -20
  86. data/lib/src/view/scaffold/ScaffoldFormPanel.js +0 -255
@@ -1,64 +0,0 @@
1
- Screw.Unit(function() {
2
- describe("A Validation Errors object", function() {
3
- var errors = new ExtMVC.Model.validation.Errors();
4
-
5
- before(function() {
6
- //make sure we clear out any errors between each test
7
- errors.clear();
8
- });
9
-
10
- it("should contain an object of all errors", function() {
11
- expect(errors.all).to(equal, {});
12
- });
13
-
14
- it("should clear current errors out", function() {
15
- //add some fake errors
16
- errors.all = {'title': ['must be present'], 'text': ['is too short']};
17
-
18
- errors.clear();
19
- expect(errors.all).to(equal, {});
20
- });
21
-
22
- describe("when retrieving errors by field name or for a form", function() {
23
- before(function() {
24
- errors.add('title', 'must be present');
25
- errors.add('title', 'is too short');
26
- errors.add('title', 'is quite boring');
27
- errors.add('text', 'is a hideous diatribe');
28
- });
29
-
30
- it("should allow retrieval of errors per field via the forField method", function() {
31
- expect(errors.forField('title')).to(equal, ['must be present', 'is too short', 'is quite boring']);
32
- });
33
-
34
- it("should return a human readable form for errors on a given field", function() {
35
- expect(errors.forField('title', true)).to(equal, 'must be present, is too short and is quite boring');
36
- expect(errors.forField('text', true)).to(equal, 'is a hideous diatribe');
37
- });
38
-
39
- it("should return the errors in a format suitable for displaying on a FormPanel", function() {
40
- var formErrors = {'title': 'must be present, is too short and is quite boring', 'text': 'is a hideous diatribe'};
41
- expect(errors.forForm()).to(equal, formErrors);
42
- });
43
- });
44
-
45
- it("should allow addition of new errors", function() {
46
- expect(errors.forField('title').length).to(equal, 0);
47
-
48
- errors.add('title', 'must be present');
49
- expect(errors.forField('title').length).to(equal, 1);
50
-
51
- errors.add('title', 'is too short');
52
- expect(errors.forField('title').length).to(equal, 2);
53
- });
54
-
55
- it("should be valid if there are no errors", function() {
56
- expect(errors.isValid()).to(equal, true);
57
- });
58
-
59
- it("should not be valid if there are errors present", function() {
60
- errors.add('title', 'has serious problems');
61
- expect(errors.isValid()).to(equal, false);
62
- });
63
- });
64
- });
@@ -1,166 +0,0 @@
1
- /**
2
- * Tests the validations framework and the built-in validations
3
- */
4
- Screw.Unit(function() {
5
- describe("Validation Classes", function() {
6
- //keep track of the object to which models are currently assigned
7
- var ns = ExtMVC.Model.modelNamespace;
8
-
9
- ExtMVC.Model.define('SomeModel', {
10
- fields: [
11
- {name: 'title', type: 'string'},
12
- {name: 'text', type: 'string'},
13
- {name: 'price', type: 'number'}
14
- ]
15
- });
16
-
17
- var myInstance = new ns.SomeModel({});
18
- var V = ExtMVC.Model.validation;
19
-
20
- describe("Validates Presence Of", function() {
21
- var v = new V.ValidatesPresenceOf(ns.SomeModel, 'title');
22
-
23
- it("should not be valid if not present", function() {
24
- expect(v.isValid(myInstance)).to(equal, false);
25
- });
26
-
27
- it("should not be valid if an empty string", function() {
28
- myInstance.set('title', '');
29
- expect(v.isValid(myInstance)).to(equal, false);
30
- });
31
-
32
- it("should be valid if any value is present", function() {
33
- myInstance.set('title', 'My Title');
34
- expect(v.isValid(myInstance)).to(equal, true);
35
-
36
- myInstance.set('title', {'some': 'object'});
37
- expect(v.isValid(myInstance)).to(equal, true);
38
- });
39
-
40
- it("should return a default message", function() {
41
- expect(v.message).to(equal, 'must be present');
42
- });
43
-
44
- it("should allow specification of a customised message", function() {
45
- var v = new V.ValidatesPresenceOf(ns.SomeModel, 'title', {message: 'My Message'});
46
- expect(v.message).to(equal, 'My Message');
47
- });
48
- });
49
-
50
- describe("Validates Numericality Of", function() {
51
- var v = new V.ValidatesNumericalityOf(ns.SomeModel, 'price');
52
-
53
- it("should pass if the field is a number", function() {
54
- myInstance.set('price', 9.99);
55
- expect(v.isValid(myInstance)).to(equal, true);
56
- });
57
-
58
- it("should fail if the field is not a number", function() {
59
- myInstance.set('price', 'not a number!');
60
- expect(v.isValid(myInstance)).to(equal, false);
61
-
62
- expect(v.message).to(equal, 'must be a number');
63
- });
64
- });
65
-
66
- describe("Validates Length Of", function() {
67
- var v = new V.ValidatesLengthOf(ns.SomeModel, 'title', {minimum: 5, maximum: 9});
68
-
69
- it("should fail if the field is too short", function() {
70
- myInstance.set('title', 'a');
71
- expect(v.isValid(myInstance)).to(equal, false);
72
- expect(v.message).to(equal, 'is too short');
73
- });
74
-
75
- it("should fail if the field is too long", function() {
76
- myInstance.set('title', 'a very long title');
77
- expect(v.isValid(myInstance)).to(equal, false);
78
- expect(v.message).to(equal, 'is too long');
79
- });
80
-
81
- it("should pass if the field is an acceptable length", function() {
82
- //minimum
83
- myInstance.set('title', 'Adama');
84
- expect(v.isValid(myInstance)).to(equal, true);
85
-
86
- //maximum
87
- myInstance.set('title', 'President');
88
- expect(v.isValid(myInstance)).to(equal, true);
89
-
90
- //in between
91
- myInstance.set('title', 'Colonel');
92
- expect(v.isValid(myInstance)).to(equal, true);
93
- });
94
- });
95
-
96
- describe("Validates Inclusion Of", function() {
97
- var v = new V.ValidatesInclusionOf(ns.SomeModel, 'title', {allowed: ['test', 'title', 'another title']});
98
-
99
- it("should pass if the field is one of the allowed values", function() {
100
- Ext.each(['test', 'title', 'another title'], function(allowedTitle) {
101
- myInstance.set('title', allowedTitle);
102
- expect(v.isValid(myInstance)).to(equal, true);
103
- }, this);
104
- });
105
-
106
- it("should fail if the field is not one of the allowed values", function() {
107
- myInstance.set('title', 'not an allowed title ');
108
- expect(v.isValid(myInstance)).to(equal, false);
109
- });
110
-
111
- it("should generate a meaningful message", function() {
112
- expect(v.message).to(equal, 'must be one of test, title or another title');
113
- });
114
-
115
- it("should allow setting of a custom message", function() {
116
- var v = new V.ValidatesInclusionOf(ns.SomeModel, 'title', {allowed: [], message: 'My Message'});
117
- expect(v.message).to(equal, 'My Message');
118
- });
119
- });
120
-
121
- describe("Validates Exclusion Of", function() {
122
- var v = new V.ValidatesExclusionOf(ns.SomeModel, 'title', {disallowed: ['test', 'title', 'another title']});
123
-
124
- it("should pass if the field is not one of the disallowed values", function() {
125
- myInstance.set('title', 'This is allowed');
126
- expect(v.isValid(myInstance)).to(equal, true);
127
- });
128
-
129
- it("should fail if the field is one of the disallowed values", function() {
130
- Ext.each(['test', 'title', 'another title'], function(disallowedTitle) {
131
- myInstance.set('title', disallowedTitle);
132
- expect(v.isValid(myInstance)).to(equal, false);
133
- }, this);
134
- });
135
-
136
- it("should generate a meaningful message", function() {
137
- expect(v.message).to(equal, 'must not be test, title or another title');
138
- });
139
-
140
- it("should allow setting of a custom message", function() {
141
- var v = new V.ValidatesExclusionOf(ns.SomeModel, 'title', {disallowed: [], message: 'My Message'});
142
- expect(v.message).to(equal, 'My Message');
143
- });
144
- });
145
-
146
- describe("Validates Format Of", function() {
147
- var v = new V.ValidatesFormatOf(ns.SomeModel, 'title', {regex: /[A-Za-z]*\. [A-Za-z]/});
148
-
149
- it("should pass if the regex matches", function() {
150
- myInstance.set('title', 'Mr. Bean');
151
-
152
- expect(v.isValid(myInstance)).to(equal, true);
153
- });
154
-
155
- it("should fail if the regex does not match", function() {
156
- myInstance.set('title', 'Ed');
157
-
158
- expect(v.isValid(myInstance)).to(equal, false);
159
- });
160
-
161
- it("should supply a default message", function() {
162
- expect(v.message).to(equal, 'is invalid');
163
- });
164
- });
165
- });
166
- });
@@ -1,108 +0,0 @@
1
- Screw.Unit(function() {
2
- describe("The Validations Plugin", function() {
3
- var ns = ExtMVC.Model.modelNamespace;
4
-
5
- delete ns.ValidatedModel;
6
- ExtMVC.Model.define("ValidatedModel", {
7
- fields: [
8
- {name: 'title', type: 'string'},
9
- {name: 'text', type: 'string'},
10
- {name: 'price', type: 'number'}
11
- ],
12
- validatesPresenceOf: ['title', 'text'],
13
- validatesNumericalityOf: 'price',
14
- validatesLengthOf: {field: 'title', minimum: 5, maximum: 10}
15
- });
16
-
17
- var validations = ns.ValidatedModel.prototype.validations;
18
-
19
- it("should add a validations array to each model prototype", function() {
20
- expect(Ext.isArray(validations)).to(equal, true);
21
- });
22
-
23
- it("should populate the validations array with the correct validations", function() {
24
- expect(validations.length).to(equal, 4);
25
- });
26
-
27
- it("should create each validation with a reference to the parent model", function() {
28
- Ext.each(validations, function(validation) {
29
- expect(validation.ownerClass).to(equal, ns.ValidatedModel);
30
- }, this);
31
- });
32
-
33
- it("should add an errors object to each model instance", function() {
34
- //make sure it goes on the instance, not the prototype
35
- expect(typeof ns.ValidatedModel.prototype.errors == 'undefined').to(equal, true);
36
-
37
- var myInstance = new ns.ValidatedModel({});
38
- expect(myInstance.errors instanceof ExtMVC.Model.validation.Errors).to(equal, true);
39
- });
40
-
41
- describe("the isValid method", function() {
42
- /**
43
- * Not sure if this is the best place to test this code. The isValid method is defined
44
- * in ExtMVC.Model.validation.Plugin and applied to Ext.data.Record's prototype. As this
45
- * means each Model instance has it available, that's how it's being tested here...
46
- */
47
- var validInstance = new ns.ValidatedModel({
48
- title: 'Title',
49
- text: 'My Text',
50
- price: 9.99
51
- });
52
-
53
- it("should clear any existing errors", function() {
54
- //add a fake error to make sure it gets cleared
55
- validInstance.errors.add('title', 'fake error');
56
- expect(validInstance.errors.all).to_not(equal, {});
57
-
58
- validInstance.isValid();
59
- expect(validInstance.errors.all).to(equal, {});
60
- });
61
-
62
- it("should return true if there were no errors", function() {
63
- expect(validInstance.isValid()).to(equal, true);
64
- });
65
-
66
- describe("if there were any errors", function() {
67
- var invalidInstance = new ns.ValidatedModel({
68
- price: 'test'
69
- });
70
-
71
- it("should return false", function() {
72
- expect(invalidInstance.isValid()).to(equal, false);
73
- });
74
-
75
- it("should add the errors to the errors object", function() {
76
- invalidInstance.isValid();
77
-
78
- //we're expecting an error on title, text and price here
79
- Ext.each(['title', 'text', 'price'], function(field) {
80
- expect(invalidInstance.errors.forField(field).length).to(equal, 1);
81
- }, this);
82
- });
83
- });
84
- });
85
-
86
- describe("the buildValidation method", function() {
87
- var constructor = ExtMVC.Model.validation.ValidatesPresenceOf,
88
- validation = ExtMVC.Model.validation.Plugin.buildValidation(constructor, 'somefield'),
89
- validation2 = ExtMVC.Model.validation.Plugin.buildValidation(constructor, {field: 'anotherfield', message: 'test'});
90
-
91
- it("should return an instance of the correct type", function() {
92
- expect(validation instanceof constructor).to(equal, true);
93
- });
94
-
95
- it("should assign the field correctly if passed as a string", function() {
96
- expect(validation.field).to(equal, 'somefield');
97
- });
98
-
99
- it("should assign the field correctly if passed inside a config object", function() {
100
- expect(validation2.field).to(equal, 'anotherfield');
101
- });
102
-
103
- it("should pass config options except field to the validation's constructor", function() {
104
- expect(validation2.message).to(equal, 'test');
105
- });
106
- });
107
- });
108
- });
@@ -1,60 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
-
4
- <html>
5
- <head>
6
- <link type="text/css" rel="stylesheet" href="../vendor/screw-unit/lib/screw.css" />
7
- <title>Ext MVC Spec Suite</title>
8
- </head>
9
- <body>
10
- <div id="dom_test" style="position: absolute; left: -9999"></div>
11
-
12
- <!-- Library code (not directly part of the app) -->
13
- <div id="libs">
14
- <!-- Screw Unit -->
15
- <script type="text/javascript" src="../vendor/screw-unit/lib/jquery-1.2.3.js"></script>
16
- <script type="text/javascript" src="../vendor/screw-unit/lib/jquery.fn.js"></script>
17
- <script type="text/javascript" src="../vendor/screw-unit/lib/jquery.print.js"></script>
18
- <script type="text/javascript" src="../vendor/screw-unit/lib/screw.builder.js"></script>
19
- <script type="text/javascript" src="../vendor/screw-unit/lib/screw.matchers.js"></script>
20
- <script type="text/javascript" src="../vendor/screw-unit/lib/screw.events.js"></script>
21
- <script type="text/javascript" src="../vendor/screw-unit/lib/screw.behaviors.js"></script>
22
-
23
- <!-- ExtJS -->
24
- <!-- <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-8.js"></script> -->
25
- <script type="text/javascript" src="../vendor/ext-base.js"></script>
26
- <script type="text/javascript" src="../vendor/ext-all-debug.js"></script>
27
-
28
- <!-- Ext MVC -->
29
- <script type="text/javascript" src="../ext-mvc-all.js"></script>
30
- </div>
31
-
32
- <!-- Specs -->
33
- <div id="specs">
34
- <script type="text/javascript" src="SpecHelper.js"></script>
35
-
36
- <!-- General MVC specs -->
37
- <script type="text/javascript" src="ExtMVC.spec.js"></script>
38
- <script type="text/javascript" src="OS.spec.js"></script>
39
-
40
- <!-- Model specs -->
41
- <script type="text/javascript" src="Model.spec.js"></script>
42
- <script type="text/javascript" src="model/Validations.spec.js"></script>
43
- <script type="text/javascript" src="model/ValidationErrors.spec.js"></script>
44
- <script type="text/javascript" src="model/ValidationsPlugin.spec.js"></script>
45
-
46
- <script type="text/javascript" src="model/Associations.spec.js"></script>
47
-
48
- <script type="text/javascript" src="model/AbstractAdapter.spec.js"></script>
49
- <script type="text/javascript" src="model/RESTAdapter.spec.js"></script>
50
-
51
- <!-- Router specs -->
52
- <script type="text/javascript" src="Router.spec.js"></script>
53
-
54
- <!-- Augmentation specs -->
55
- <script type="text/javascript" src="String.spec.js"></script>
56
- <script type="text/javascript" src="Array.spec.js"></script>
57
- </div>
58
-
59
- </body>
60
- </html>
@@ -1,216 +0,0 @@
1
- @CHARSET "UTF-8";
2
-
3
- /* --------------------
4
- * @Layout
5
- */
6
-
7
- html {
8
- overflow: hidden;
9
- }
10
-
11
- body, #jsspec_container {
12
- overflow: hidden;
13
- padding: 0;
14
- margin: 0;
15
- width: 100%;
16
- height: 100%;
17
- }
18
-
19
- #title {
20
- padding: 0;
21
- margin: 0;
22
- position: absolute;
23
- top: 0px;
24
- left: 0px;
25
- width: 100%;
26
- height: 40px;
27
- overflow: hidden;
28
- }
29
-
30
- #list {
31
- padding: 0;
32
- margin: 0;
33
- position: absolute;
34
- top: 40px;
35
- left: 0px;
36
- bottom: 0px;
37
- overflow: auto;
38
- width: 250px;
39
- _height:expression(document.body.clientHeight-40);
40
- }
41
-
42
- #log {
43
- padding: 0;
44
- margin: 0;
45
- position: absolute;
46
- top: 40px;
47
- left: 250px;
48
- right: 0px;
49
- bottom: 0px;
50
- overflow: auto;
51
- _height:expression(document.body.clientHeight-40);
52
- _width:expression(document.body.clientWidth-250);
53
- }
54
-
55
-
56
-
57
- /* --------------------
58
- * @Decorations and colors
59
- */
60
- * {
61
- padding: 0;
62
- margin: 0;
63
- font-family: "Lucida Grande", Helvetica, sans-serif;
64
- }
65
-
66
- li {
67
- list-style: none;
68
- }
69
-
70
- /* hiding subtitles */
71
- h2 {
72
- display: none;
73
- }
74
-
75
- /* title section */
76
- div#title {
77
- padding: 0em 0.5em;
78
- }
79
-
80
- div#title h1 {
81
- font-size: 1.5em;
82
- float: left;
83
- }
84
-
85
- div#title ul li {
86
- float: left;
87
- padding: 0.5em 0em 0.5em 0.75em;
88
- }
89
-
90
- div#title p {
91
- float:right;
92
- margin-right:1em;
93
- font-size: 0.75em;
94
- }
95
-
96
- /* spec container */
97
- ul.specs {
98
- margin: 0.5em;
99
- }
100
- ul.specs li {
101
- margin-bottom: 0.1em;
102
- }
103
-
104
- /* spec title */
105
- ul.specs li h3 {
106
- font-weight: bold;
107
- font-size: 0.75em;
108
- padding: 0.2em 1em;
109
- cursor: pointer;
110
- _cursor: hand;
111
- }
112
-
113
- /* example container */
114
- ul.examples li {
115
- border-style: solid;
116
- border-width: 0px 0px 1px 5px;
117
- margin: 0.2em 0em 0.2em 1em;
118
- }
119
-
120
- /* example title */
121
- ul.examples li h4 {
122
- font-weight: normal;
123
- font-size: 0.75em;
124
- margin-left: 1em;
125
- }
126
-
127
- /* example explaination */
128
- ul.examples li div {
129
- padding: 1em 2em;
130
- font-size: 0.75em;
131
- }
132
-
133
- /* styles for ongoing, success, failure, error */
134
- div.success, div.success a {
135
- color: #FFFFFF;
136
- background-color: #65C400;
137
- }
138
-
139
- ul.specs li.success h3, ul.specs li.success h3 a {
140
- color: #FFFFFF;
141
- background-color: #65C400;
142
- }
143
-
144
- ul.examples li.success, ul.examples li.success a {
145
- color: #3D7700;
146
- background-color: #DBFFB4;
147
- border-color: #65C400;
148
- }
149
-
150
- div.exception, div.exception a {
151
- color: #FFFFFF;
152
- background-color: #C20000;
153
- }
154
-
155
- ul.specs li.exception h3, ul.specs li.exception h3 a {
156
- color: #FFFFFF;
157
- background-color: #C20000;
158
- }
159
-
160
- ul.examples li.exception, ul.examples li.exception a {
161
- color: #C20000;
162
- background-color: #FFFBD3;
163
- border-color: #C20000;
164
- }
165
-
166
- div.ongoing, div.ongoing a {
167
- color: #000000;
168
- background-color: #FFFF80;
169
- }
170
-
171
- ul.specs li.ongoing h3, ul.specs li.ongoing h3 a {
172
- color: #000000;
173
- background-color: #FFFF80;
174
- }
175
-
176
- ul.examples li.ongoing, ul.examples li.ongoing a {
177
- color: #000000;
178
- background-color: #FFFF80;
179
- border-color: #DDDD00;
180
- }
181
-
182
-
183
-
184
- /* --------------------
185
- * values
186
- */
187
- .number_value, .string_value, .regexp_value, .boolean_value, .dom_value {
188
- font-family: monospace;
189
- color: blue;
190
- }
191
- .object_value, .array_value {
192
- line-height: 2em;
193
- padding: 0.1em 0.2em;
194
- margin: 0.1em 0;
195
- }
196
- .date_value {
197
- font-family: monospace;
198
- color: olive;
199
- }
200
- .undefined_value, .null_value {
201
- font-style: italic;
202
- color: blue;
203
- }
204
- .dom_attr_name {
205
- }
206
- .dom_attr_value {
207
- color: red;
208
- }
209
- .dom_path {
210
- font-size: 0.75em;
211
- color: gray;
212
- }
213
- strong {
214
- font-weight: normal;
215
- background-color: #FFC6C6;
216
- }