Skip to content

brentonashworth/difform

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# difform

Diffs two clojure forms, eg:

(use 'com.georgejahad.difform)
(difform { 1 2 3 4 5 6} { 5 6 1 2 3 7})
   {1 2, 3
 - 4
 + 7
   , 5 6}

(difform

{:cart {:items [{:new-delivery {:ids ["-1"]}, :old-unit-price "700.00", :product-id "prod-1", :quantity "1", :unit-price "700.00"}], :old-total-dollars "700.00", :purchase? false, :total-dollars "700.00"}, :day "2010-05-18", :event-ids ["1274166000010:some-session-id-1"], :old-id "14", :delivery {:ids [nil]}, :session "some-session-id-1"}

{:day "2010-05-18", :old-id "14", :session "some-session-id-1", :delivery nil, :cart {:purchase? false, :old-total-dollars "1400.00", :total-dollars "1400.00", :items [{:product-id "prod-1", :old-unit-price "700.00", :unit-price "700.00", :quantity "2", :new-delivery {:ids ["-1"]}}]}, :event-ids ["1274166000000:some-session-id-1"]})


   {:cart
    {:items
     [{:new-delivery {:ids ["-1"]},
       :old-unit-price "700.00",
       :product-id "prod-1",
       :quantity "
 - 1
 + 2
   ",
       :unit-price "700.00"}],
     :old-total-dollars "
 - 7
 + 14
   00.00",
     :purchase? false,
     :total-dollars "
 - 7
 + 14
   00.00"},
    :day "2010-05-18",
    :delivery
 - {:ids [
   nil
 - ]}
   ,
    :event-ids ["1274166
 + 0
   0000
 - 1
   0:some-session-id-1"],
    :old-id "14",
    :session "some-session-id-1"}

A very common use is with clojure.test.  For example, if clojure test reports you have failed a test like this:

FAIL in (xyz-test) (xyz_spec.clj:7)
expected: (= form1 form2)

Run (diff form1 form2) to see what the exact failure was.

About

allows you to diff clojure forms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Clojure 100.0%