ende 0.5.20 → 0.5.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. checksums.yaml +4 -4
  2. data/component.json +1 -1
  3. data/components/indefinido/indemma/master/.gitignore +17 -0
  4. data/components/indefinido/indemma/master/.ruby-gemset +1 -0
  5. data/components/indefinido/indemma/master/.ruby-version +1 -0
  6. data/components/indefinido/indemma/master/Gemfile +12 -0
  7. data/components/indefinido/indemma/master/Guardfile +39 -0
  8. data/components/indefinido/indemma/master/History.md +0 -0
  9. data/components/indefinido/indemma/master/Readme.md +445 -0
  10. data/components/indefinido/indemma/master/build/development.js +26123 -0
  11. data/components/indefinido/indemma/master/build/release.js +16741 -0
  12. data/components/indefinido/indemma/master/build/test.js +26123 -0
  13. data/components/indefinido/indemma/master/component.json +1 -1
  14. data/components/indefinido/indemma/master/components/chaijs/assertion-error/1.0.0/component.json +18 -0
  15. data/components/indefinido/indemma/master/components/chaijs/assertion-error/1.0.0/index.js +110 -0
  16. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/.gitignore +22 -0
  17. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/.mailmap +1 -0
  18. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/.npmignore +14 -0
  19. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/.travis.yml +14 -0
  20. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/CONTRIBUTING.md +173 -0
  21. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/History.md +895 -0
  22. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/Makefile +93 -0
  23. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/README.md +99 -0
  24. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/ReleaseNotes.md +482 -0
  25. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/bower.json +27 -0
  26. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/chai.js +4782 -0
  27. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/component.json +50 -0
  28. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/index.js +1 -0
  29. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/karma.conf.js +28 -0
  30. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/karma.sauce.js +41 -0
  31. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/assertion.js +130 -0
  32. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/config.js +50 -0
  33. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/core/assertions.js +1314 -0
  34. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/interface/assert.js +1056 -0
  35. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/interface/expect.js +12 -0
  36. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/interface/should.js +78 -0
  37. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/addChainableMethod.js +111 -0
  38. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/addMethod.js +43 -0
  39. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/addProperty.js +40 -0
  40. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/flag.js +32 -0
  41. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/getActual.js +18 -0
  42. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/getEnumerableProperties.js +25 -0
  43. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/getMessage.js +49 -0
  44. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/getName.js +20 -0
  45. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/getPathValue.js +102 -0
  46. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/getProperties.js +35 -0
  47. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/index.js +114 -0
  48. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/inspect.js +320 -0
  49. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/objDisplay.js +49 -0
  50. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/overwriteChainableMethod.js +53 -0
  51. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/overwriteMethod.js +51 -0
  52. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/overwriteProperty.js +54 -0
  53. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/test.js +26 -0
  54. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/transferFlags.js +44 -0
  55. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/type.js +45 -0
  56. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai.js +87 -0
  57. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/package.json +42 -0
  58. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/sauce.browsers.js +128 -0
  59. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/support/sauce/sauce_connect_block.sh +7 -0
  60. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/support/sauce/sauce_connect_setup.sh +53 -0
  61. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/assert.js +638 -0
  62. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/auth/.gitkeep +0 -0
  63. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/bootstrap/index.js +22 -0
  64. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/bootstrap/karma.js +22 -0
  65. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/configuration.js +133 -0
  66. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/display/errors.js +14 -0
  67. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/display/message.js +47 -0
  68. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/expect.js +814 -0
  69. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/globalShould.js +15 -0
  70. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/plugins.js +24 -0
  71. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/should.js +744 -0
  72. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/utilities.js +309 -0
  73. data/components/indefinido/indemma/master/components/chaijs/deep-eql/0.1.3/component.json +20 -0
  74. data/components/indefinido/indemma/master/components/chaijs/deep-eql/0.1.3/lib/eql.js +257 -0
  75. data/components/indefinido/indemma/master/components/chaijs/type-detect/0.1.1/component.json +18 -0
  76. data/components/indefinido/indemma/master/components/chaijs/type-detect/0.1.1/lib/type.js +142 -0
  77. data/components/indefinido/indemma/master/components/component/bind/1.0.0/component.json +14 -0
  78. data/components/indefinido/indemma/master/components/component/bind/1.0.0/index.js +23 -0
  79. data/components/indefinido/indemma/master/components/component/jquery/1.0.0/component.json +10 -0
  80. data/components/indefinido/indemma/master/components/component/jquery/1.0.0/index.js +10308 -0
  81. data/components/indefinido/indemma/master/components/component/type/1.0.0/component.json +20 -0
  82. data/components/indefinido/indemma/master/components/component/type/1.0.0/index.js +32 -0
  83. data/components/indefinido/indemma/master/components/indefinido/advisable/master/component.json +21 -0
  84. data/components/indefinido/indemma/master/components/indefinido/advisable/master/index.js +1 -0
  85. data/components/indefinido/indemma/master/components/indefinido/advisable/master/lib/advisable.js +60 -0
  86. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/component.json +39 -0
  87. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/index.js +1 -0
  88. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/adapters/rivets.js +40 -0
  89. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/legacy/notifierable.js +145 -0
  90. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/legacy/schedulerable.js +147 -0
  91. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/lookup.js +38 -0
  92. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/observable/keypath_observer.js +38 -0
  93. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/observable/observation.js +45 -0
  94. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/observable/selection.js +57 -0
  95. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/observable/self_observer.js +38 -0
  96. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/observable.js +97 -0
  97. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/platform.js +12 -0
  98. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/vendor/observe-js/observe.js +1631 -0
  99. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/vendor/shims/accessors-legacy.js +92 -0
  100. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/vendor/shims/accessors.js +248 -0
  101. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/vendor/shims/array.indexOf.js +8 -0
  102. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/vendor/shims/object.create.js +77 -0
  103. data/components/indefinido/indemma/master/components/pluma/assimilate/0.4.0/component.json +25 -0
  104. data/components/indefinido/indemma/master/components/pluma/assimilate/0.4.0/dist/assimilate.js +127 -0
  105. data/components/indefinido/indemma/master/karma.conf.js +75 -0
  106. data/components/indefinido/indemma/master/lib/record/associable.js +4 -2
  107. data/components/indefinido/indemma/master/lib/record/dirtyable.js +1 -1
  108. data/components/indefinido/indemma/master/package.json +9 -0
  109. data/components/indefinido/indemma/master/spec/record/associable_spec.js +211 -0
  110. data/components/indefinido/indemma/master/spec/record/dirtyable_spec.js +57 -0
  111. data/components/indefinido/indemma/master/spec/record/maid_spec.js +40 -0
  112. data/components/indefinido/indemma/master/spec/record/persistable_spec.js +46 -0
  113. data/components/indefinido/indemma/master/spec/record/queryable_spec.js +39 -0
  114. data/components/indefinido/indemma/master/spec/record/resource_spec.js +93 -0
  115. data/components/indefinido/indemma/master/spec/record/rest_spec.js +32 -0
  116. data/components/indefinido/indemma/master/spec/record/restfulable_spec.js +346 -0
  117. data/components/indefinido/indemma/master/spec/record/scopable_spec.js +242 -0
  118. data/components/indefinido/indemma/master/spec/record/storable_spec.js +44 -0
  119. data/components/indefinido/indemma/master/spec/record/translationable.js +28 -0
  120. data/components/indefinido/indemma/master/spec/record/validatable_spec.js +142 -0
  121. data/components/indefinido/indemma/master/spec/record/validations/associated_spec.js +43 -0
  122. data/components/indefinido/indemma/master/spec/record/validations/confirmation_spec.js +36 -0
  123. data/components/indefinido/indemma/master/spec/record/validations/cpf_spec.js +34 -0
  124. data/components/indefinido/indemma/master/spec/record/validations/presence_spec.js +28 -0
  125. data/components/indefinido/indemma/master/spec/record/validations/remote_spec.js +87 -0
  126. data/components/indefinido/indemma/master/spec/record/validations/type_spec.js +48 -0
  127. data/components/indefinido/indemma/master/spec/record_spec.js +49 -0
  128. data/components/indefinido/indemma/master/spec/spec_helper.js +15 -0
  129. data/components/indefinido/indemma/master/spec/support/value_objects/phone.js +45 -0
  130. data/components/indefinido/indemma/master/src/lib/extensions/rivets.coffee +17 -0
  131. data/components/indefinido/indemma/master/src/lib/record/associable.coffee +419 -0
  132. data/components/indefinido/indemma/master/src/lib/record/dirtyable.coffee +47 -0
  133. data/components/indefinido/indemma/master/src/lib/record/errors.coffee +20 -0
  134. data/components/indefinido/indemma/master/src/lib/record/maid.coffee +16 -0
  135. data/components/indefinido/indemma/master/src/lib/record/persistable.coffee +34 -0
  136. data/components/indefinido/indemma/master/src/lib/record/queryable.coffee +29 -0
  137. data/components/indefinido/indemma/master/src/lib/record/resource.coffee +107 -0
  138. data/components/indefinido/indemma/master/src/lib/record/rest.coffee +34 -0
  139. data/components/indefinido/indemma/master/src/lib/record/restfulable.coffee +487 -0
  140. data/components/indefinido/indemma/master/src/lib/record/scopable.coffee +279 -0
  141. data/components/indefinido/indemma/master/src/lib/record/storable.coffee +49 -0
  142. data/components/indefinido/indemma/master/src/lib/record/translationable.coffee +18 -0
  143. data/components/indefinido/indemma/master/src/lib/record/validatable.coffee +241 -0
  144. data/components/indefinido/indemma/master/src/lib/record/validations/associated.coffee +34 -0
  145. data/components/indefinido/indemma/master/src/lib/record/validations/confirmation.coffee +17 -0
  146. data/components/indefinido/indemma/master/src/lib/record/validations/cpf.coffee +57 -0
  147. data/components/indefinido/indemma/master/src/lib/record/validations/presence.coffee +16 -0
  148. data/components/indefinido/indemma/master/src/lib/record/validations/remote.coffee +61 -0
  149. data/components/indefinido/indemma/master/src/lib/record/validations/type.coffee +31 -0
  150. data/components/indefinido/indemma/master/src/lib/record/validations/validatorable.coffee +5 -0
  151. data/components/indefinido/indemma/master/src/lib/record.coffee +143 -0
  152. data/components/indefinido/indemma/master/src/spec/record/associable_spec.coffee +205 -0
  153. data/components/indefinido/indemma/master/src/spec/record/dirtyable_spec.coffee +47 -0
  154. data/components/indefinido/indemma/master/src/spec/record/maid_spec.coffee +34 -0
  155. data/components/indefinido/indemma/master/src/spec/record/persistable_spec.coffee +39 -0
  156. data/components/indefinido/indemma/master/src/spec/record/queryable_spec.coffee +33 -0
  157. data/components/indefinido/indemma/master/src/spec/record/resource_spec.coffee +69 -0
  158. data/components/indefinido/indemma/master/src/spec/record/rest_spec.coffee +22 -0
  159. data/components/indefinido/indemma/master/src/spec/record/restfulable_spec.coffee +257 -0
  160. data/components/indefinido/indemma/master/src/spec/record/scopable_spec.coffee +227 -0
  161. data/components/indefinido/indemma/master/src/spec/record/storable_spec.coffee +39 -0
  162. data/components/indefinido/indemma/master/src/spec/record/translationable.coffee +19 -0
  163. data/components/indefinido/indemma/master/src/spec/record/validatable_spec.coffee +127 -0
  164. data/components/indefinido/indemma/master/src/spec/record/validations/associated_spec.coffee +35 -0
  165. data/components/indefinido/indemma/master/src/spec/record/validations/confirmation_spec.coffee +25 -0
  166. data/components/indefinido/indemma/master/src/spec/record/validations/cpf_spec.coffee +27 -0
  167. data/components/indefinido/indemma/master/src/spec/record/validations/presence_spec.coffee +24 -0
  168. data/components/indefinido/indemma/master/src/spec/record/validations/remote_spec.coffee +74 -0
  169. data/components/indefinido/indemma/master/src/spec/record/validations/type_spec.coffee +33 -0
  170. data/components/indefinido/indemma/master/src/spec/record_spec.coffee +29 -0
  171. data/components/indefinido/indemma/master/src/spec/spec_helper.coffee +11 -0
  172. data/components/indefinido/indemma/master/src/spec/support/value_objects/phone.coffee +30 -0
  173. data/components/indefinido/indemma/master/vendor/object/mixin.js +196 -0
  174. data/components/indefinido/indemma/master/vendor/spec/sinon/assert.js +199 -0
  175. data/components/indefinido/indemma/master/vendor/spec/sinon/behavior.js +334 -0
  176. data/components/indefinido/indemma/master/vendor/spec/sinon/call.js +205 -0
  177. data/components/indefinido/indemma/master/vendor/spec/sinon/collection.js +155 -0
  178. data/components/indefinido/indemma/master/vendor/spec/sinon/match.js +245 -0
  179. data/components/indefinido/indemma/master/vendor/spec/sinon/mock.js +451 -0
  180. data/components/indefinido/indemma/master/vendor/spec/sinon/sandbox.js +144 -0
  181. data/components/indefinido/indemma/master/vendor/spec/sinon/spy.js +413 -0
  182. data/components/indefinido/indemma/master/vendor/spec/sinon/stub.js +161 -0
  183. data/components/indefinido/indemma/master/vendor/spec/sinon/test.js +77 -0
  184. data/components/indefinido/indemma/master/vendor/spec/sinon/test_case.js +99 -0
  185. data/components/indefinido/indemma/master/vendor/spec/sinon/util/event.js +94 -0
  186. data/components/indefinido/indemma/master/vendor/spec/sinon/util/fake_server.js +212 -0
  187. data/components/indefinido/indemma/master/vendor/spec/sinon/util/fake_server_with_clock.js +83 -0
  188. data/components/indefinido/indemma/master/vendor/spec/sinon/util/fake_timers.js +405 -0
  189. data/components/indefinido/indemma/master/vendor/spec/sinon/util/fake_xdomain_request.js +206 -0
  190. data/components/indefinido/indemma/master/vendor/spec/sinon/util/fake_xml_http_request.js +575 -0
  191. data/components/indefinido/indemma/master/vendor/spec/sinon/util/timers_ie.js +31 -0
  192. data/components/indefinido/indemma/master/vendor/spec/sinon/util/xdr_ie.js +14 -0
  193. data/components/indefinido/indemma/master/vendor/spec/sinon/util/xhr_ie.js +19 -0
  194. data/components/indefinido/indemma/master/vendor/spec/sinon.js +383 -0
  195. data/lib/assets/javascripts/value_objects/phone.js.coffee +3 -1
  196. data/lib/assets/javascripts/widgets/viewer/plugins/scopable.js.coffee +5 -5
  197. data/lib/ende/version.rb +1 -1
  198. data/vendor/assets/components/ende_build.css +4 -4
  199. data/vendor/assets/components/ende_build.js +7974 -7889
  200. metadata +191 -5
  201. data/vendor/assets/component/build.css +0 -112
  202. data/vendor/assets/components/build.css +0 -112
  203. data/vendor/assets/components/indemma_with_none.js +0 -30553
@@ -0,0 +1,638 @@
1
+ describe('assert', function () {
2
+ var assert = chai.assert;
3
+
4
+ it('assert', function () {
5
+ var foo = 'bar';
6
+ assert(foo == 'bar', "expected foo to equal `bar`");
7
+
8
+ err(function () {
9
+ assert(foo == 'baz', "expected foo to equal `bar`");
10
+ }, "expected foo to equal `bar`");
11
+ });
12
+
13
+ it('fail', function () {
14
+ chai.expect(function () {
15
+ assert.fail(0, 1, 'this has failed');
16
+ }).to.throw(chai.AssertionError, /this has failed/);
17
+ });
18
+
19
+ it('isTrue', function () {
20
+ assert.isTrue(true);
21
+
22
+ err(function() {
23
+ assert.isTrue(false);
24
+ }, "expected false to be true");
25
+
26
+ err(function() {
27
+ assert.isTrue(1);
28
+ }, "expected 1 to be true");
29
+
30
+ err(function() {
31
+ assert.isTrue('test');
32
+ }, "expected 'test' to be true");
33
+ });
34
+
35
+ it('ok', function () {
36
+ assert.ok(true);
37
+ assert.ok(1);
38
+ assert.ok('test');
39
+
40
+ err(function () {
41
+ assert.ok(false);
42
+ }, "expected false to be truthy");
43
+
44
+ err(function () {
45
+ assert.ok(0);
46
+ }, "expected 0 to be truthy");
47
+
48
+ err(function () {
49
+ assert.ok('');
50
+ }, "expected '' to be truthy");
51
+ });
52
+
53
+ it('notOk', function () {
54
+ assert.notOk(false);
55
+ assert.notOk(0);
56
+ assert.notOk('');
57
+
58
+ err(function () {
59
+ assert.notOk(true);
60
+ }, "expected true to be falsy");
61
+
62
+ err(function () {
63
+ assert.notOk(1);
64
+ }, "expected 1 to be falsy");
65
+
66
+ err(function () {
67
+ assert.notOk('test');
68
+ }, "expected 'test' to be falsy");
69
+ });
70
+
71
+ it('isFalse', function () {
72
+ assert.isFalse(false);
73
+
74
+ err(function() {
75
+ assert.isFalse(true);
76
+ }, "expected true to be false");
77
+
78
+ err(function() {
79
+ assert.isFalse(0);
80
+ }, "expected 0 to be false");
81
+ });
82
+
83
+ it('equal', function () {
84
+ var foo;
85
+ assert.equal(foo, undefined);
86
+ });
87
+
88
+ it('typeof / notTypeOf', function () {
89
+ assert.typeOf('test', 'string');
90
+ assert.typeOf(true, 'boolean');
91
+ assert.typeOf(5, 'number');
92
+
93
+ err(function () {
94
+ assert.typeOf(5, 'string');
95
+ }, "expected 5 to be a string");
96
+
97
+ });
98
+
99
+ it('notTypeOf', function () {
100
+ assert.notTypeOf('test', 'number');
101
+
102
+ err(function () {
103
+ assert.notTypeOf(5, 'number');
104
+ }, "expected 5 not to be a number");
105
+ });
106
+
107
+ it('instanceOf', function() {
108
+ function Foo(){}
109
+ assert.instanceOf(new Foo(), Foo);
110
+
111
+ err(function () {
112
+ assert.instanceOf(5, Foo);
113
+ }, "expected 5 to be an instance of Foo");
114
+
115
+ function CrashyObject() {};
116
+ CrashyObject.prototype.inspect = function () {
117
+ throw new Error("Arg's inspect() called even though the test passed");
118
+ };
119
+ assert.instanceOf(new CrashyObject(), CrashyObject);
120
+ });
121
+
122
+ it('notInstanceOf', function () {
123
+ function Foo(){}
124
+ assert.notInstanceOf(new Foo(), String);
125
+
126
+ err(function () {
127
+ assert.notInstanceOf(new Foo(), Foo);
128
+ }, "expected {} to not be an instance of Foo");
129
+ });
130
+
131
+ it('isObject', function () {
132
+ function Foo(){}
133
+ assert.isObject({});
134
+ assert.isObject(new Foo());
135
+
136
+ err(function() {
137
+ assert.isObject(true);
138
+ }, "expected true to be an object");
139
+
140
+ err(function() {
141
+ assert.isObject(Foo);
142
+ }, "expected [Function: Foo] to be an object");
143
+
144
+ err(function() {
145
+ assert.isObject('foo');
146
+ }, "expected 'foo' to be an object");
147
+ });
148
+
149
+ it('isNotObject', function () {
150
+ function Foo(){}
151
+ assert.isNotObject(5);
152
+
153
+ err(function() {
154
+ assert.isNotObject({});
155
+ }, "expected {} not to be an object");
156
+ });
157
+
158
+ it('notEqual', function() {
159
+ assert.notEqual(3, 4);
160
+
161
+ err(function () {
162
+ assert.notEqual(5, 5);
163
+ }, "expected 5 to not equal 5");
164
+ });
165
+
166
+ it('strictEqual', function() {
167
+ assert.strictEqual('foo', 'foo');
168
+
169
+ err(function () {
170
+ assert.strictEqual('5', 5);
171
+ }, "expected \'5\' to equal 5");
172
+ });
173
+
174
+ it('notStrictEqual', function() {
175
+ assert.notStrictEqual(5, '5');
176
+
177
+ err(function () {
178
+ assert.notStrictEqual(5, 5);
179
+ }, "expected 5 to not equal 5");
180
+ });
181
+
182
+ it('deepEqual', function() {
183
+ assert.deepEqual({tea: 'chai'}, {tea: 'chai'});
184
+
185
+ err(function () {
186
+ assert.deepEqual({tea: 'chai'}, {tea: 'black'});
187
+ }, "expected { tea: \'chai\' } to deeply equal { tea: \'black\' }");
188
+
189
+ var obja = Object.create({ tea: 'chai' })
190
+ , objb = Object.create({ tea: 'chai' });
191
+
192
+ assert.deepEqual(obja, objb);
193
+
194
+ var obj1 = Object.create({tea: 'chai'})
195
+ , obj2 = Object.create({tea: 'black'});
196
+
197
+ err(function () {
198
+ assert.deepEqual(obj1, obj2);
199
+ }, "expected { tea: \'chai\' } to deeply equal { tea: \'black\' }");
200
+ });
201
+
202
+ it('deepEqual (ordering)', function() {
203
+ var a = { a: 'b', c: 'd' }
204
+ , b = { c: 'd', a: 'b' };
205
+ assert.deepEqual(a, b);
206
+ });
207
+
208
+ it('deepEqual /regexp/', function() {
209
+ assert.deepEqual(/a/, /a/);
210
+ assert.notDeepEqual(/a/, /b/);
211
+ assert.notDeepEqual(/a/, {});
212
+ assert.deepEqual(/a/g, /a/g);
213
+ assert.notDeepEqual(/a/g, /b/g);
214
+ assert.deepEqual(/a/i, /a/i);
215
+ assert.notDeepEqual(/a/i, /b/i);
216
+ assert.deepEqual(/a/m, /a/m);
217
+ assert.notDeepEqual(/a/m, /b/m);
218
+ });
219
+
220
+ it('deepEqual (Date)', function() {
221
+ var a = new Date(1, 2, 3)
222
+ , b = new Date(4, 5, 6);
223
+ assert.deepEqual(a, a);
224
+ assert.notDeepEqual(a, b);
225
+ assert.notDeepEqual(a, {});
226
+ });
227
+
228
+ it('deepEqual (circular)', function() {
229
+ var circularObject = {}
230
+ , secondCircularObject = {};
231
+ circularObject.field = circularObject;
232
+ secondCircularObject.field = secondCircularObject;
233
+
234
+ assert.deepEqual(circularObject, secondCircularObject);
235
+
236
+ err(function() {
237
+ secondCircularObject.field2 = secondCircularObject;
238
+ assert.deepEqual(circularObject, secondCircularObject);
239
+ }, "expected { field: [Circular] } to deeply equal { Object (field, field2) }");
240
+ });
241
+
242
+ it('notDeepEqual', function() {
243
+ assert.notDeepEqual({tea: 'jasmine'}, {tea: 'chai'});
244
+
245
+ err(function () {
246
+ assert.notDeepEqual({tea: 'chai'}, {tea: 'chai'});
247
+ }, "expected { tea: \'chai\' } to not deeply equal { tea: \'chai\' }");
248
+ });
249
+
250
+ it('notDeepEqual (circular)', function() {
251
+ var circularObject = {}
252
+ , secondCircularObject = { tea: 'jasmine' };
253
+ circularObject.field = circularObject;
254
+ secondCircularObject.field = secondCircularObject;
255
+
256
+ assert.notDeepEqual(circularObject, secondCircularObject);
257
+
258
+ err(function() {
259
+ delete secondCircularObject.tea;
260
+ assert.notDeepEqual(circularObject, secondCircularObject);
261
+ }, "expected { field: [Circular] } to not deeply equal { field: [Circular] }");
262
+ });
263
+
264
+ it('isNull', function() {
265
+ assert.isNull(null);
266
+
267
+ err(function () {
268
+ assert.isNull(undefined);
269
+ }, "expected undefined to equal null");
270
+ });
271
+
272
+ it('isNotNull', function() {
273
+ assert.isNotNull(undefined);
274
+
275
+ err(function () {
276
+ assert.isNotNull(null);
277
+ }, "expected null to not equal null");
278
+ });
279
+
280
+ it('isUndefined', function() {
281
+ assert.isUndefined(undefined);
282
+
283
+ err(function () {
284
+ assert.isUndefined(null);
285
+ }, "expected null to equal undefined");
286
+ });
287
+
288
+ it('isDefined', function() {
289
+ assert.isDefined(null);
290
+
291
+ err(function () {
292
+ assert.isDefined(undefined);
293
+ }, "expected undefined to not equal undefined");
294
+ });
295
+
296
+ it('isFunction', function() {
297
+ var func = function() {};
298
+ assert.isFunction(func);
299
+
300
+ err(function () {
301
+ assert.isFunction({});
302
+ }, "expected {} to be a function");
303
+ });
304
+
305
+ it('isNotFunction', function () {
306
+ assert.isNotFunction(5);
307
+
308
+ err(function () {
309
+ assert.isNotFunction(function () {});
310
+ }, "expected [Function] not to be a function");
311
+ });
312
+
313
+ it('isArray', function() {
314
+ assert.isArray([]);
315
+ assert.isArray(new Array);
316
+
317
+ err(function () {
318
+ assert.isArray({});
319
+ }, "expected {} to be an array");
320
+ });
321
+
322
+ it('isNotArray', function () {
323
+ assert.isNotArray(3);
324
+
325
+ err(function () {
326
+ assert.isNotArray([]);
327
+ }, "expected [] not to be an array");
328
+
329
+ err(function () {
330
+ assert.isNotArray(new Array);
331
+ }, "expected [] not to be an array");
332
+ });
333
+
334
+ it('isString', function() {
335
+ assert.isString('Foo');
336
+ assert.isString(new String('foo'));
337
+
338
+ err(function () {
339
+ assert.isString(1);
340
+ }, "expected 1 to be a string");
341
+ });
342
+
343
+ it('isNotString', function () {
344
+ assert.isNotString(3);
345
+ assert.isNotString([ 'hello' ]);
346
+
347
+ err(function () {
348
+ assert.isNotString('hello');
349
+ }, "expected 'hello' not to be a string");
350
+ });
351
+
352
+ it('isNumber', function() {
353
+ assert.isNumber(1);
354
+ assert.isNumber(Number('3'));
355
+
356
+ err(function () {
357
+ assert.isNumber('1');
358
+ }, "expected \'1\' to be a number");
359
+ });
360
+
361
+ it('isNotNumber', function () {
362
+ assert.isNotNumber('hello');
363
+ assert.isNotNumber([ 5 ]);
364
+
365
+ err(function () {
366
+ assert.isNotNumber(4);
367
+ }, "expected 4 not to be a number");
368
+ });
369
+
370
+ it('isBoolean', function() {
371
+ assert.isBoolean(true);
372
+ assert.isBoolean(false);
373
+
374
+ err(function () {
375
+ assert.isBoolean('1');
376
+ }, "expected \'1\' to be a boolean");
377
+ });
378
+
379
+ it('isNotBoolean', function () {
380
+ assert.isNotBoolean('true');
381
+
382
+ err(function () {
383
+ assert.isNotBoolean(true);
384
+ }, "expected true not to be a boolean");
385
+
386
+ err(function () {
387
+ assert.isNotBoolean(false);
388
+ }, "expected false not to be a boolean");
389
+ });
390
+
391
+ it('include', function() {
392
+ assert.include('foobar', 'bar');
393
+ assert.include([ 1, 2, 3], 3);
394
+ assert.include({a:1, b:2}, {b:2});
395
+
396
+ err(function () {
397
+ assert.include('foobar', 'baz');
398
+ }, "expected \'foobar\' to include \'baz\'");
399
+
400
+ err(function () {
401
+ assert.include(undefined, 'bar');
402
+ }, "expected undefined to include 'bar'");
403
+ });
404
+
405
+ it('notInclude', function () {
406
+ assert.notInclude('foobar', 'baz');
407
+ assert.notInclude([ 1, 2, 3 ], 4);
408
+ assert.notInclude(undefined, 'bar');
409
+
410
+ err(function () {
411
+ assert.notInclude('foobar', 'bar');
412
+ }, "expected \'foobar\' to not include \'bar\'");
413
+ });
414
+
415
+ it('lengthOf', function() {
416
+ assert.lengthOf([1,2,3], 3);
417
+ assert.lengthOf('foobar', 6);
418
+
419
+ err(function () {
420
+ assert.lengthOf('foobar', 5);
421
+ }, "expected 'foobar' to have a length of 5 but got 6");
422
+
423
+ err(function () {
424
+ assert.lengthOf(1, 5);
425
+ }, "expected 1 to have a property \'length\'");
426
+ });
427
+
428
+ it('match', function () {
429
+ assert.match('foobar', /^foo/);
430
+ assert.notMatch('foobar', /^bar/);
431
+
432
+ err(function () {
433
+ assert.match('foobar', /^bar/i);
434
+ }, "expected 'foobar' to match /^bar/i");
435
+
436
+ err(function () {
437
+ assert.notMatch('foobar', /^foo/i);
438
+ }, "expected 'foobar' not to match /^foo/i");
439
+ });
440
+
441
+ it('property', function () {
442
+ var obj = { foo: { bar: 'baz' } };
443
+ var simpleObj = { foo: 'bar' };
444
+ assert.property(obj, 'foo');
445
+ assert.deepProperty(obj, 'foo.bar');
446
+ assert.notProperty(obj, 'baz');
447
+ assert.notProperty(obj, 'foo.bar');
448
+ assert.notDeepProperty(obj, 'foo.baz');
449
+ assert.deepPropertyVal(obj, 'foo.bar', 'baz');
450
+ assert.deepPropertyNotVal(obj, 'foo.bar', 'flow');
451
+
452
+ err(function () {
453
+ assert.property(obj, 'baz');
454
+ }, "expected { foo: { bar: 'baz' } } to have a property 'baz'");
455
+
456
+ err(function () {
457
+ assert.deepProperty(obj, 'foo.baz');
458
+ }, "expected { foo: { bar: 'baz' } } to have a deep property 'foo.baz'");
459
+
460
+ err(function () {
461
+ assert.notProperty(obj, 'foo');
462
+ }, "expected { foo: { bar: 'baz' } } to not have property 'foo'");
463
+
464
+ err(function () {
465
+ assert.notDeepProperty(obj, 'foo.bar');
466
+ }, "expected { foo: { bar: 'baz' } } to not have deep property 'foo.bar'");
467
+
468
+ err(function () {
469
+ assert.propertyVal(simpleObj, 'foo', 'ball');
470
+ }, "expected { foo: 'bar' } to have a property 'foo' of 'ball', but got 'bar'");
471
+
472
+ err(function () {
473
+ assert.deepPropertyVal(obj, 'foo.bar', 'ball');
474
+ }, "expected { foo: { bar: 'baz' } } to have a deep property 'foo.bar' of 'ball', but got 'baz'");
475
+
476
+ err(function () {
477
+ assert.propertyNotVal(simpleObj, 'foo', 'bar');
478
+ }, "expected { foo: 'bar' } to not have a property 'foo' of 'bar'");
479
+
480
+ err(function () {
481
+ assert.deepPropertyNotVal(obj, 'foo.bar', 'baz');
482
+ }, "expected { foo: { bar: 'baz' } } to not have a deep property 'foo.bar' of 'baz'");
483
+ });
484
+
485
+ it('throws', function() {
486
+ assert.throws(function() { throw new Error('foo'); });
487
+ assert.throws(function() { throw new Error('bar'); }, 'bar');
488
+ assert.throws(function() { throw new Error('bar'); }, /bar/);
489
+ assert.throws(function() { throw new Error('bar'); }, Error);
490
+ assert.throws(function() { throw new Error('bar'); }, Error, 'bar');
491
+
492
+ var thrownErr = assert.throws(function() { throw new Error('foo'); });
493
+ assert(thrownErr instanceof Error, 'assert.throws returns error');
494
+ assert(thrownErr.message === 'foo', 'assert.throws returns error message');
495
+
496
+ err(function () {
497
+ assert.throws(function() { throw new Error('foo') }, TypeError);
498
+ }, "expected [Function] to throw 'TypeError' but 'Error: foo' was thrown")
499
+
500
+ err(function () {
501
+ assert.throws(function() { throw new Error('foo') }, 'bar');
502
+ }, "expected [Function] to throw error including 'bar' but got 'foo'")
503
+
504
+ err(function () {
505
+ assert.throws(function() { throw new Error('foo') }, Error, 'bar');
506
+ }, "expected [Function] to throw error including 'bar' but got 'foo'")
507
+
508
+ err(function () {
509
+ assert.throws(function() { throw new Error('foo') }, TypeError, 'bar');
510
+ }, "expected [Function] to throw 'TypeError' but 'Error: foo' was thrown")
511
+
512
+ err(function () {
513
+ assert.throws(function() {});
514
+ }, "expected [Function] to throw an error");
515
+
516
+ err(function () {
517
+ assert.throws(function() { throw new Error('') }, 'bar');
518
+ }, "expected [Function] to throw error including 'bar' but got ''");
519
+
520
+ err(function () {
521
+ assert.throws(function() { throw new Error('') }, /bar/);
522
+ }, "expected [Function] to throw error matching /bar/ but got ''");
523
+ });
524
+
525
+ it('doesNotThrow', function() {
526
+ function CustomError(message) {
527
+ this.name = 'CustomError';
528
+ this.message = message;
529
+ }
530
+ CustomError.prototype = Error.prototype;
531
+
532
+ assert.doesNotThrow(function() { });
533
+ assert.doesNotThrow(function() { }, 'foo');
534
+
535
+ err(function () {
536
+ assert.doesNotThrow(function() { throw new Error('foo'); });
537
+ }, "expected [Function] to not throw an error but 'Error: foo' was thrown");
538
+
539
+ err(function () {
540
+ assert.doesNotThrow(function() { throw new CustomError('foo'); });
541
+ }, "expected [Function] to not throw an error but 'CustomError: foo' was thrown");
542
+ });
543
+
544
+ it('ifError', function() {
545
+ assert.ifError(false);
546
+ assert.ifError(null);
547
+ assert.ifError(undefined);
548
+
549
+ err(function () {
550
+ assert.ifError('foo');
551
+ }, "expected \'foo\' to be falsy");
552
+ });
553
+
554
+ it('operator', function() {
555
+ assert.operator(1, '<', 2);
556
+ assert.operator(2, '>', 1);
557
+ assert.operator(1, '==', 1);
558
+ assert.operator(1, '<=', 1);
559
+ assert.operator(1, '>=', 1);
560
+ assert.operator(1, '!=', 2);
561
+ assert.operator(1, '!==', 2);
562
+
563
+ err(function () {
564
+ assert.operator(1, '=', 2);
565
+ }, 'Invalid operator "="');
566
+
567
+ err(function () {
568
+ assert.operator(2, '<', 1);
569
+ }, "expected 2 to be < 1");
570
+
571
+ err(function () {
572
+ assert.operator(1, '>', 2);
573
+ }, "expected 1 to be > 2");
574
+
575
+ err(function () {
576
+ assert.operator(1, '==', 2);
577
+ }, "expected 1 to be == 2");
578
+
579
+ err(function () {
580
+ assert.operator(2, '<=', 1);
581
+ }, "expected 2 to be <= 1");
582
+
583
+ err(function () {
584
+ assert.operator(1, '>=', 2);
585
+ }, "expected 1 to be >= 2");
586
+
587
+ err(function () {
588
+ assert.operator(1, '!=', 1);
589
+ }, "expected 1 to be != 1");
590
+
591
+ err(function () {
592
+ assert.operator(1, '!==', '1');
593
+ }, "expected 1 to be !== \'1\'");
594
+ });
595
+
596
+ it('closeTo', function(){
597
+ assert.closeTo(1.5, 1.0, 0.5);
598
+ assert.closeTo(10, 20, 20);
599
+ assert.closeTo(-10, 20, 30);
600
+
601
+ err(function(){
602
+ assert.closeTo(2, 1.0, 0.5);
603
+ }, "expected 2 to be close to 1 +/- 0.5");
604
+
605
+ err(function(){
606
+ assert.closeTo(-10, 20, 29);
607
+ }, "expected -10 to be close to 20 +/- 29");
608
+ });
609
+
610
+ it('members', function() {
611
+ assert.includeMembers([1, 2, 3], [2, 3]);
612
+ assert.includeMembers([1, 2, 3], []);
613
+ assert.includeMembers([1, 2, 3], [3]);
614
+
615
+ err(function() {
616
+ assert.includeMembers([5, 6], [7, 8]);
617
+ }, 'expected [ 5, 6 ] to be a superset of [ 7, 8 ]');
618
+
619
+ err(function() {
620
+ assert.includeMembers([5, 6], [5, 6, 0]);
621
+ }, 'expected [ 5, 6 ] to be a superset of [ 5, 6, 0 ]');
622
+ });
623
+
624
+ it('memberEquals', function() {
625
+ assert.sameMembers([], []);
626
+ assert.sameMembers([1, 2, 3], [3, 2, 1]);
627
+ assert.sameMembers([4, 2], [4, 2]);
628
+
629
+ err(function() {
630
+ assert.sameMembers([], [1, 2]);
631
+ }, 'expected [] to have the same members as [ 1, 2 ]');
632
+
633
+ err(function() {
634
+ assert.sameMembers([1, 54], [6, 1, 54]);
635
+ }, 'expected [ 1, 54 ] to have the same members as [ 6, 1, 54 ]');
636
+ });
637
+
638
+ });
@@ -0,0 +1,22 @@
1
+ /*!
2
+ * Attach chai to global
3
+ */
4
+
5
+ global.chai = require('../..');
6
+
7
+ /*!
8
+ * Provide check for fail function.
9
+ */
10
+
11
+ global.err = function (fn, msg) {
12
+ try {
13
+ fn();
14
+ throw new chai.AssertionError({ message: 'Expected an error' });
15
+ } catch (err) {
16
+ if ('string' === typeof msg) {
17
+ chai.expect(err.message).to.equal(msg);
18
+ } else {
19
+ chai.expect(err.message).to.match(msg);
20
+ }
21
+ }
22
+ };
@@ -0,0 +1,22 @@
1
+ /*!
2
+ * Attach chai to global
3
+ */
4
+
5
+ global.chai = require('chai');
6
+
7
+ /*!
8
+ * Provide check for fail function.
9
+ */
10
+
11
+ global.err = function (fn, msg) {
12
+ try {
13
+ fn();
14
+ throw new chai.AssertionError('Expected an error');
15
+ } catch (err) {
16
+ if ('string' === typeof msg) {
17
+ chai.expect(err.message).to.equal(msg);
18
+ } else {
19
+ chai.expect(err.message).to.match(msg);
20
+ }
21
+ }
22
+ };