hoarder-js 0.0.1

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.
Files changed (44) hide show
  1. data/CHANGELOG +1 -0
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +100 -0
  4. data/LICENSE +21 -0
  5. data/Manifest +42 -0
  6. data/README.rdoc +0 -0
  7. data/Rakefile +38 -0
  8. data/assets/scripts/coffee/hoarder/form/form.coffee +48 -0
  9. data/assets/scripts/coffee/hoarder/form/form_element.coffee +22 -0
  10. data/assets/scripts/coffee/hoarder/form_manager.coffee +32 -0
  11. data/assets/scripts/coffee/hoarder/submitter/form_submitter.coffee +29 -0
  12. data/assets/scripts/coffee/hoarder/submitter/submitters/polling_submitter.coffee +36 -0
  13. data/assets/scripts/coffee/hoarder/submitter/submitters/simple_submitter.coffee +30 -0
  14. data/assets/scripts/coffee/hoarder/validator/constraints/alpha_constraint.coffee +18 -0
  15. data/assets/scripts/coffee/hoarder/validator/constraints/alphanumeric_constraint.coffee +18 -0
  16. data/assets/scripts/coffee/hoarder/validator/constraints/credit_card_constraint.coffee +18 -0
  17. data/assets/scripts/coffee/hoarder/validator/constraints/email_constraint.coffee +18 -0
  18. data/assets/scripts/coffee/hoarder/validator/constraints/max_length_constraint.coffee +18 -0
  19. data/assets/scripts/coffee/hoarder/validator/constraints/min_length_constraint.coffee +18 -0
  20. data/assets/scripts/coffee/hoarder/validator/constraints/numeric_constraint.coffee +18 -0
  21. data/assets/scripts/coffee/hoarder/validator/constraints/phone_constraint.coffee +18 -0
  22. data/assets/scripts/coffee/hoarder/validator/constraints/required_constraint.coffee +18 -0
  23. data/assets/scripts/coffee/hoarder/validator/error/validation_error.coffee +9 -0
  24. data/assets/scripts/coffee/hoarder/validator/form_validator.coffee +53 -0
  25. data/assets/scripts/js/lib/jquery.js +5 -0
  26. data/bin/hoarder.js +1197 -0
  27. data/config/assets.rb +8 -0
  28. data/hoarder-js.gemspec +36 -0
  29. data/lib/hoarder.rb +1 -0
  30. data/lib/hoarder/symbols.rb +17 -0
  31. data/spec/jasmine.yml +44 -0
  32. data/spec/runner.html +75 -0
  33. data/spec/support/classes.coffee +0 -0
  34. data/spec/support/helpers.coffee +22 -0
  35. data/spec/support/mocks.coffee +42 -0
  36. data/spec/support/objects.coffee +0 -0
  37. data/spec/support/requirements.coffee +1 -0
  38. data/spec/tests/form_manager_spec.coffee +43 -0
  39. data/spec/tests/submitter/form_submitter_spec.coffee +47 -0
  40. data/spec/tests/submitter/submitters/polling_submitter_spec.coffee +60 -0
  41. data/spec/tests/submitter/submitters/simple_submitter_spec.coffee +19 -0
  42. data/spec/tests/validator/constraints_spec.coffee +74 -0
  43. data/spec/tests/validator/form_validator_spec.coffee +29 -0
  44. metadata +132 -0
@@ -0,0 +1,29 @@
1
+ FormElement = require "hoarder/form/form_element"
2
+ FormValidator = require "hoarder/validator/form_validator"
3
+
4
+ describe "FormValidator", ->
5
+ validator = null
6
+ element = null
7
+
8
+ beforeEach ->
9
+ validator = FormValidator.default()
10
+ element = new FormElement("element", "$", "test-element", [ "alphanumeric", "creditCard", "email", "maxLength=5", "minLength=5", "numeric", "phone", "required" ])
11
+
12
+ it "can validate an element", ->
13
+ errors = validator.validateElement(element)
14
+ jasmine.log errors
15
+ expect(errors[0].message).toEqual "This field only accepts numbers and characters (0-9, A-Z, a-z)."
16
+ element.value = "4111111111111111"
17
+ errors = validator.validateElement(element)
18
+ jasmine.log errors
19
+ expect(errors[0].message).toEqual "Please enter a valid email address."
20
+ element.value = "6854291"
21
+ errors = validator.validateElement(element)
22
+ jasmine.log errors
23
+ expect(errors[0].message).toEqual "Please enter a valid credit card number."
24
+
25
+ it "can validate a form", ->
26
+ errors = validator.validateForm(mocks.simpleForm)
27
+ expect(errors.length).toEqual 0
28
+ errors = validator.validateForm(mocks.invalidForm)
29
+ expect(errors.length).toEqual 4
metadata ADDED
@@ -0,0 +1,132 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hoarder-js
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Tim Shelburne
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-05-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jasmine
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: jasmine-headless-webkit
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ description: ''
47
+ email: shelburt02@gmail.com
48
+ executables:
49
+ - hoarder.js
50
+ extensions: []
51
+ extra_rdoc_files:
52
+ - CHANGELOG
53
+ - LICENSE
54
+ - README.rdoc
55
+ - bin/hoarder.js
56
+ - lib/hoarder.rb
57
+ - lib/hoarder/symbols.rb
58
+ files:
59
+ - CHANGELOG
60
+ - Gemfile
61
+ - Gemfile.lock
62
+ - LICENSE
63
+ - Manifest
64
+ - README.rdoc
65
+ - Rakefile
66
+ - assets/scripts/coffee/hoarder/form/form.coffee
67
+ - assets/scripts/coffee/hoarder/form/form_element.coffee
68
+ - assets/scripts/coffee/hoarder/form_manager.coffee
69
+ - assets/scripts/coffee/hoarder/submitter/form_submitter.coffee
70
+ - assets/scripts/coffee/hoarder/submitter/submitters/polling_submitter.coffee
71
+ - assets/scripts/coffee/hoarder/submitter/submitters/simple_submitter.coffee
72
+ - assets/scripts/coffee/hoarder/validator/constraints/alpha_constraint.coffee
73
+ - assets/scripts/coffee/hoarder/validator/constraints/alphanumeric_constraint.coffee
74
+ - assets/scripts/coffee/hoarder/validator/constraints/credit_card_constraint.coffee
75
+ - assets/scripts/coffee/hoarder/validator/constraints/email_constraint.coffee
76
+ - assets/scripts/coffee/hoarder/validator/constraints/max_length_constraint.coffee
77
+ - assets/scripts/coffee/hoarder/validator/constraints/min_length_constraint.coffee
78
+ - assets/scripts/coffee/hoarder/validator/constraints/numeric_constraint.coffee
79
+ - assets/scripts/coffee/hoarder/validator/constraints/phone_constraint.coffee
80
+ - assets/scripts/coffee/hoarder/validator/constraints/required_constraint.coffee
81
+ - assets/scripts/coffee/hoarder/validator/error/validation_error.coffee
82
+ - assets/scripts/coffee/hoarder/validator/form_validator.coffee
83
+ - assets/scripts/js/lib/jquery.js
84
+ - bin/hoarder.js
85
+ - config/assets.rb
86
+ - lib/hoarder.rb
87
+ - lib/hoarder/symbols.rb
88
+ - spec/jasmine.yml
89
+ - spec/runner.html
90
+ - spec/support/classes.coffee
91
+ - spec/support/helpers.coffee
92
+ - spec/support/mocks.coffee
93
+ - spec/support/objects.coffee
94
+ - spec/support/requirements.coffee
95
+ - spec/tests/form_manager_spec.coffee
96
+ - spec/tests/submitter/form_submitter_spec.coffee
97
+ - spec/tests/submitter/submitters/polling_submitter_spec.coffee
98
+ - spec/tests/submitter/submitters/simple_submitter_spec.coffee
99
+ - spec/tests/validator/constraints_spec.coffee
100
+ - spec/tests/validator/form_validator_spec.coffee
101
+ - hoarder-js.gemspec
102
+ homepage: https://github.com/tshelburne/hoarder-js
103
+ licenses: []
104
+ post_install_message:
105
+ rdoc_options:
106
+ - --line-numbers
107
+ - --inline-source
108
+ - --title
109
+ - Hoarder-js
110
+ - --main
111
+ - README.rdoc
112
+ require_paths:
113
+ - lib
114
+ required_ruby_version: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '1.2'
126
+ requirements: []
127
+ rubyforge_project: hoarder-js
128
+ rubygems_version: 1.8.24
129
+ signing_key:
130
+ specification_version: 3
131
+ summary: ''
132
+ test_files: []