Skip to content
This repository has been archived by the owner on Jan 24, 2021. It is now read-only.

Commit

Permalink
Merge pull request #1482 from nerdfury/querywrapper-selector
Browse files Browse the repository at this point in the history
Maintain QueryWrapper Selector
  • Loading branch information
thecodejunkie committed Mar 8, 2014
2 parents 08be470 + 3b3bcf2 commit b0654a0
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 3 deletions.
24 changes: 22 additions & 2 deletions src/Nancy.Testing.Tests/QueryWrapperTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ public class QueryWrapperTests
public void Should_use_cq_find_when_indexer_invoked()
{
// Given
var document =
var document =
CQ.Create(@"<html><head></head><body><div id='testId' class='myClass'>Test</div></body></html>");

var queryResult =
document.Find("#testId").FirstOrDefault();

var wrapper =
var wrapper =
new QueryWrapper(document);

// When
Expand All @@ -28,5 +28,25 @@ public void Should_use_cq_find_when_indexer_invoked()
Assert.NotNull(result);
Assert.Same(queryResult, result);
}

[Fact]
public void Should_filter_selection_when_second_indexer_invoked()
{
// Given
var document =
CQ.Create(
@"<html><head></head><body><table><tr><td></td><td></td></tr><tr><td></td><td></td></tr></body></html>");

var wrapper = new QueryWrapper(document);

var row = wrapper["tr:first"];

// When
var cells = row["td"];

// Then
Assert.NotNull(cells);
Assert.Equal(2, cells.Count());
}
}
}
8 changes: 7 additions & 1 deletion src/Nancy.Testing/QueryWrapper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,13 @@ public QueryWrapper(CQ document)
/// <returns>A <see cref="QueryWrapper"/> instance</returns>
public QueryWrapper this[string selector]
{
get { return new QueryWrapper(this.document[selector]); }
get
{
var newDocument = this.document.Selector == null
? this.document
: new CQ(this.document.RenderSelection());
return new QueryWrapper(newDocument[selector]);
}
}

/// <summary>
Expand Down

0 comments on commit b0654a0

Please sign in to comment.