diff --git a/config/routes.rb b/config/routes.rb
index 21a5eb9bfeca41f6fd48ac37cf65d367a8e4168e..f3632e64d61860d3caefb778e32af86e3196e5c7 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -100,6 +100,14 @@ Gitlab::Application.routes.draw do
 
   get "errors/githost"
 
+  resources :snippets do
+    member do
+      get "raw"
+      get "my"
+    end
+  end
+  match "/s/:username" => "snippets#user_index", as: :user_snippets, constraints: { username: /.*/ }
+
   #
   # Profile Area
   #
diff --git a/spec/routing/routing_spec.rb b/spec/routing/routing_spec.rb
index 5ad8165ecce1de76442b5f4c19394f13a7136634..3d7db8ac21773a6ecfc45fa90db6664472498efa 100644
--- a/spec/routing/routing_spec.rb
+++ b/spec/routing/routing_spec.rb
@@ -25,6 +25,51 @@ describe "Mounted Apps", "routing" do
   end
 end
 
+#     snippets GET    /snippets(.:format)          snippets#index
+#          POST   /snippets(.:format)          snippets#create
+#  new_snippet GET    /snippets/new(.:format)      snippets#new
+# edit_snippet GET    /snippets/:id/edit(.:format) snippets#edit
+#      snippet GET    /snippets/:id(.:format)      snippets#show
+#          PUT    /snippets/:id(.:format)      snippets#update
+#          DELETE /snippets/:id(.:format)      snippets#destroy
+describe SnippetsController, "routing" do
+  it "to #user_index" do
+    get("/s/User").should route_to('snippets#user_index', username: 'User')
+  end
+
+  it "to #raw" do
+    get("/snippets/1/raw").should route_to('snippets#raw', id: '1')
+  end
+
+  it "to #index" do
+    get("/snippets").should route_to('snippets#index')
+  end
+
+  it "to #create" do
+    post("/snippets").should route_to('snippets#create')
+  end
+
+  it "to #new" do
+    get("/snippets/new").should route_to('snippets#new')
+  end
+
+  it "to #edit" do
+    get("/snippets/1/edit").should route_to('snippets#edit', id: '1')
+  end
+
+  it "to #show" do
+    get("/snippets/1").should route_to('snippets#show', id: '1')
+  end
+
+  it "to #update" do
+    put("/snippets/1").should route_to('snippets#update', id: '1')
+  end
+
+  it "to #destroy" do
+    delete("/snippets/1").should route_to('snippets#destroy', id: '1')
+  end
+end
+
 #              help GET    /help(.:format)              help#index
 #  help_permissions GET    /help/permissions(.:format)  help#permissions
 #     help_workflow GET    /help/workflow(.:format)     help#workflow