]> nos-oignons.net Git - gestion-adh.git/commitdiff
Next step in pre-commit hook implementation
authorLunar <lunar@anargeek.net>
Fri, 31 May 2013 20:44:47 +0000 (22:44 +0200)
committerLunar <lunar@anargeek.net>
Fri, 31 May 2013 20:50:33 +0000 (22:50 +0200)
bin/pre-commit-hook
features/pre-commit-hook.feature
features/step_definitions/subscriptions.rb

index 713cb6fa33c1b98a7e615f6aa6e71b4eebec9c18..7d3d0e8f4c8fdbf30c3090afb9944b3191c190fd 100755 (executable)
@@ -16,9 +16,15 @@ else
 end
 
 def is_valid_subscription?(content)
-  content.length != 0 &&
-    content.start_with?("---\n") &&
+  return false if content.length == 0
+  return false unless content.start_with?("---\n")
+  begin
     YAML.load(content)
+    true
+  rescue ArgumentError
+    # Parse error
+    false
+  end
 end
 
 def is_valid_subscription_file?(file)
index dff8a4bf0f18328cb3eeb9d7fb6e183dd1b0bce3..1765ffbac1d18af93602fb81e5b57596e3b67e1b 100644 (file)
@@ -24,3 +24,8 @@ Fonctionnalité: pre-commit hook Git
     Lorsque j'ajoute une fiche sans YAML
     Et que je fais un `commit` du nouveau fichier
     Alors je dois voir comme erreur "pas le bon format"
+
+  Scénario: Commit d'un fichier avec du mauvais YAML
+    Lorsque j'ajoute une fiche avec du mauvais YAML
+    Et que je fais un `commit` du nouveau fichier
+    Alors je dois voir comme erreur "pas le bon format"
index 8d3a754929bfbdd48d261d88e8595896e24135b6..50f3dbb1ea813134c15b8bd59d50c3f08cc6e409 100644 (file)
@@ -14,3 +14,12 @@ When /^j'ajoute une fiche sans YAML$/ do
     Ceci est une fiche sans YAML.
   EOF
 end
+
+When /^j'ajoute une fiche avec du mauvais YAML$/ do
+  @file = subscription_filename_for_id(new_id)
+  write_file @file, <<-EOF.gsub(/^    /, '')
+    ---
+    [This is missing a closing bracket
+    ---
+  EOF
+end