Rework P4Ruby unit tests so they they are actually units. Now the
test order is irrelevant as all tests are standalone. Tidied up
the code formatting as well and removed all the tabs from the ruby
sources files. Added a modeline for vim users so consistent
indentation will be used.
Fix unlink error on unit tests
Wrap the connect/disconnect in begin/ensure blocks to
ensure that the client disconnect even if there are failures
in a unit test.
Fix unicode unit test for 1.9. When the contents of a file
is stored in a String object, ruby 1.9 sets the String's
encoding to the current locale. This is overridden in the
test case and set to the correct value. This may need to
user visible change.
Integrate change for Map::reverse bug fix where it used to change
the map instead of returning a reversed copy of the map.
Already in the release notes for 8.2.
Eliminate P4::Map.load() method, and make P4::Map.new() take
an optional array of mappings instead. Taken from P4Python.
Change to unreleased new feature
Fix quoting bug in P4::Map code. Quotes should not be
passed down to the MapApi layer - they just need to be
respected in order to identify the left- and right-hand
sides of the mappings.
Includes some tests to check the handling of mappings
with embedded spaces and quotes.
Bug fix to unreleased functionality
Add support for the MapApi class in P4Ruby. This change adds a new
class, P4::Map, to P4Ruby's canon. The methods on P4::Map are:
P4::Map.new - Constructor
P4::Map.load - Load a map from an array
P4::Map.join - Join two maps to create a third
P4::Map#clear - Empty a map
P4::Map#count - Return the number of entries
P4::Map#empty? - Tests whether a map object is empty
P4::Map#translate - Translate a string through a map
P4::Map#includes? - Tests whether a path is mapped
P4::Map#lhs - Returns the left side as an array
P4::Map#rhs - Returns the right side as an array
P4::Map#to_a - Returns the map as an array
(Note, the first three are class methods, the rest instance methods)
There is also P4::Map#reverse(), but I'm not documenting that yet as
I'm not sure I understand the semantics of reversing complex maps
User-visible enhancement documented in p4rubynotes.txt and slated
for 2008.2 release.