summaryrefslogtreecommitdiff
path: root/etc/check-diffs.rb
diff options
context:
space:
mode:
Diffstat (limited to 'etc/check-diffs.rb')
-rw-r--r--etc/check-diffs.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/etc/check-diffs.rb b/etc/check-diffs.rb
new file mode 100644
index 0000000..8bc66ca
--- /dev/null
+++ b/etc/check-diffs.rb
@@ -0,0 +1,27 @@
+DIFF_PART = /
+^ ([\d,]+c[\d,]+) \n # change
+( (?: < .* \n )+ ) # old
+---\n
+( (?: > .* \n )+ ) # new
+/x
+
+class String
+ def undiff!
+ gsub!(/^./, '')
+ end
+end
+
+for diff in Dir['*.debug.diff']
+ puts diff
+ diff = File.read diff
+ diff.scan(/#{DIFF_PART}|(.+)/o) do |change, old, new, error|
+ raise error if error
+ old.undiff!
+ new.undiff!
+
+ new.gsub!('inline_delimiter', 'delimiter')
+ unless new == old
+ raise "\n>>>\n#{new}\n<<<#{old}\n"
+ end
+ end
+end \ No newline at end of file