Commits

Toby Inkster committed bee50d6

fix lvalue example; add lvalue tests

Comments (0)

Files changed (2)

 Like C<values>, but returns just the first value. This method is an lvalue
 sub, which means you can assign to it:
 
-  $path->value('$.name') = 'Bob';
+  my $person = { name => "Robert" };
+  my $path = JSON::Path->new('$.name');
+  $path->value($person) = "Bob";
 
 =item C<<  paths($object)  >>
 
+=head1 PURPOSE
+
+Basic tests for some of the lvalue stuff.
+
+=head1 AUTHOR
+
+Toby Inkster E<lt>tobyink@cpan.orgE<gt>.
+
+=head1 COPYRIGHT AND LICENCE
+
+Copyright 2013 Toby Inkster.
+
+This module is tri-licensed. It is available under the X11 (a.k.a. MIT)
+licence; you can also redistribute it and/or modify it under the same
+terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+use Test::More;
+
+use JSON::Path -all;
+
+my $person = { name => "Robert" };
+my $path = JSON::Path->new('$.name');
+$path->value($person) = "Bob";
+
+is_deeply($person, { name => "Bob" });
+
+jpath1($person, '$.name') = "Robbie";
+
+is_deeply($person, { name => "Robbie" });
+
+done_testing;
+
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.