Skip to content

Adding namespaces#14

Open
mbuechmann wants to merge 3 commits into
4moms:masterfrom
mbuechmann:master
Open

Adding namespaces#14
mbuechmann wants to merge 3 commits into
4moms:masterfrom
mbuechmann:master

Conversation

@mbuechmann
Copy link
Copy Markdown

Support of namespaces is added to all matchers. Usage of namespaces os optional so that there are no breaking api changes. Specs and examples are included and namespaces are documented in the README.

@wiggly
Copy link
Copy Markdown

wiggly commented Sep 28, 2015

I have just started using this but I'm wondering if this wouldn't be better implemented as another matcher.

i.e. with_namespace(NS) in the same manner as with_attribute and with_text are currently done?

@mbuechmann
Copy link
Copy Markdown
Author

That would indeed be better for the user. Unfortunately xpath expressions do not match when a namespace is left out.

E.g. this spec

doc = '<foo xmlns="bar"></foo>'
expect(doc).to have_xpath('/foo')

would fail, because no namespace is given.

So this spec

doc = '<foo xmlns="bar"></foo>'
expect(doc).to have_xpath('/a:foo').with_namespace(:a => 'bar')

still fails as the first matcher fails.

I am not sure, but I do not think that it is possible to have one matcher modify another matcher. The second matcher had to inject the namespace into the first one. (aside from being a bit ugly)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants