Merge branch 'master' of https://github.com/OhaiBBQ/diaspora into OhaiBBQ-master

This commit is contained in:
Sarah Mei 2010-12-01 22:53:58 -08:00
commit c7b1fcc806
5 changed files with 48 additions and 0 deletions

View file

@ -1,3 +1,5 @@
= javascript_include_tag "validation"
= form_for(resource, :as => resource_name, :url => invitation_path(resource_name), :html => {:method => :put }) do |f|
%p
= f.label :username

View file

@ -1,3 +1,5 @@
= javascript_include_tag "validation"
.span-12.prepend-6.last
.floating
%h3

View file

@ -0,0 +1,23 @@
/* Copyright (c) 2010, Diaspora Inc. This file is
* licensed under the Affero General Public License version 3 or later. See
* the COPYRIGHT file.
*/
var Validation = {
rules: {
username: {
characters: /^(|[A-Za-z0-9_]{0,32})$/,
length: [6, 32]
}
},
events: {
usernameKeypress: function(evt) {
if(!Validation.rules.username.characters.test(this.value + String.fromCharCode(evt.charCode))) {
evt.preventDefault();
}
}
}
};
$(function() {
$("#user_username").keypress(Validation.events.usernameKeypress);
});

View file

@ -14,6 +14,7 @@ src_files:
- public/javascripts/vendor/jquery144.js
- public/javascripts/vendor/jquery-ui-1.8.6.custom.min.js
- public/javascripts/vendor/jquery.tipsy.js
- public/javascripts/validation.js
- public/javascripts/diaspora.js
- public/javascripts/mobile.js
- public/javascripts/aspect-edit.js

View file

@ -0,0 +1,20 @@
describe("Validation", function() {
describe("rules", function() {
describe("username", function() {
describe("characters", function() {
it("is the regex for checking if we allow what the user typed", function() {
expect(typeof Validation.rules.username.characters).toEqual("function");
});
});
});
});
describe("events", function() {
describe("usernameKeypress", function() {
it("doesn't allow the user to type anything but letters, numbers and underscores", function() {
expect(Validation.rules.username.characters.test("*")).toBeFalsy();
expect(Validation.rules.username.characters.test("Aa_")).toBeTruthy();
expect(Validation.rules.username.characters.test("ffffffffffffffffffffffffffffffffff")).toBeFalsy();
});
});
});
});