CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 23 Jul 2025 16:34:44 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090104004510
location: https://web.archive.org/web/20090104004510/https://github.com/github/body_matcher/tree
server-timing: captures_list;dur=0.646023, exclusion.robots;dur=0.024201, exclusion.robots.policy;dur=0.011282, esindex;dur=0.015214, cdx.remote;dur=52.199259, LoadShardBlock;dur=223.448819, PetaboxLoader3.datanode;dur=121.979121, PetaboxLoader3.resolve;dur=85.305456
x-app-server: wwwb-app210
x-ts: 302
x-tr: 307
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: SERVER=wwwb-app210; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Wed, 23 Jul 2025 16:34:45 GMT
content-type: text/html; charset=utf-8
content-length: 115
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Sun, 04 Jan 2009 00:45:07 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: _github_ses=BAh7BzoOcmV0dXJuX3RvIh0va2VubmV0aGthbG1lci9mb2xsb3dlcnMiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7AAY6CkB1c2VkewA%3D--2b6371374fa5d60bf8c336600bf73ac731548af5; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090104004510/https://github.com/github/body_matcher/tree/master
x-archive-orig-x-runtime: 456ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 115
cache-control: max-age=1800
memento-datetime: Sun, 04 Jan 2009 00:45:10 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Thu, 24 Jul 2008 07:24:37 GMT", ; rel="prev memento"; datetime="Thu, 24 Jul 2008 07:24:37 GMT", ; rel="memento"; datetime="Sun, 04 Jan 2009 00:45:10 GMT", ; rel="last memento"; datetime="Sun, 04 Jan 2009 00:45:10 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_7_20090103234219_crawl108-c/52_7_20090104003950_crawl103.arc.gz
server-timing: captures_list;dur=0.677137, exclusion.robots;dur=0.024680, exclusion.robots.policy;dur=0.011122, esindex;dur=0.017362, cdx.remote;dur=22.575000, LoadShardBlock;dur=484.875787, PetaboxLoader3.datanode;dur=362.257078, PetaboxLoader3.resolve;dur=243.240546, load_resource;dur=367.131531
x-app-server: wwwb-app210
x-ts: 301
x-tr: 905
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Wed, 23 Jul 2025 16:34:47 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Sun, 04 Jan 2009 00:45:10 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: _github_ses=BAh7ByIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7ADoOcmV0dXJuX3RvIh0va2VubmV0aGthbG1lci9mb2xsb3dlcnM%3D--cfaf8b1a04a1e86fefbd842c1f87967b333ee263; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 2686ms
x-archive-orig-etag: "bf8438814b081b87f8df15bcff376328"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 14537
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Sun, 04 Jan 2009 00:45:10 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sun, 04 Jan 2009 00:45:10 GMT", ; rel="memento"; datetime="Sun, 04 Jan 2009 00:45:10 GMT", ; rel="next memento"; datetime="Mon, 05 Jan 2009 07:35:23 GMT", ; rel="last memento"; datetime="Mon, 05 Jan 2009 07:35:23 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_7_20090103234219_crawl108-c/52_7_20090104003950_crawl103.arc.gz
server-timing: captures_list;dur=0.538662, exclusion.robots;dur=0.024609, exclusion.robots.policy;dur=0.012992, esindex;dur=0.011396, cdx.remote;dur=38.718849, LoadShardBlock;dur=678.565854, PetaboxLoader3.datanode;dur=526.141964, PetaboxLoader3.resolve;dur=392.032687, load_resource;dur=387.378989
x-app-server: wwwb-app210
x-ts: 200
x-tr: 1226
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
github's body_matcher at master — GitHub
We got nominated! Help us out and vote for GitHub as Best Bootstrapped Startup of 2008. (You can vote once a day.) [ hide ]
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Fork of defunkt/body_matcher | |
Description: | Simplify your view testing. Forget assert_select. |
Homepage: | https://ozmm.org/posts/some_ruby_code.html |
Clone URL: |
git://github.com/github/body_matcher.git
Give this clone URL to anyone.
git clone git://github.com/github/body_matcher.git
|
name | age | message | |
---|---|---|---|
![]() |
.gitignore | Mon Apr 21 21:59:06 -0700 2008 | First commit [uhlenbrock] |
![]() |
LICENSE | Mon Apr 21 21:59:06 -0700 2008 | First commit [uhlenbrock] |
![]() |
README | Mon Apr 21 21:59:06 -0700 2008 | First commit [uhlenbrock] |
![]() |
Rakefile | Mon Apr 21 21:59:06 -0700 2008 | First commit [uhlenbrock] |
![]() |
lib/ | Mon Apr 21 21:59:06 -0700 2008 | First commit [uhlenbrock] |
README
== BodyMatcher BodyMatcher simplifies your view testing. Forget assert_select. Activate it by including it in your Test::Unit::TestCase class: class Test::Unit::TestCase include BodyMatcher self.use_transactional_fixtures = true self.use_instantiated_fixtures = false end Simple assertions: body['#web_results'].should.match /results from the web/i body['#categories_dropdown'].should.include "#{topic}[#{count}]" Access the attributes: body['#name_field'].attributes['value'].should.equal '(your name)' body['#name_field']['value'].should.equal '(your name)' You can also use @response.body['blah']. The nice part about this is that test failures will print out only the HTML you're trying to match. For use with test/spec/rails, which provides the `body' method. Also requires Hpricot. Enjoy. * Chris Wanstrath [ chris@ozmm.org ]
This feature is coming soon. Sit tight!