radkovo/jStyleParser — pull request #4 by chetankothari (2014-09-25 10:34:56+00:00)
Title: Fix/line height

`NodeData's` `push()` method when called from `DirectAnalyzer's` `getElementStyle()` method was mutating the original `Term` values from the `StyleSheet` which was passed to the `DirectAnalyzer` while constructing it.
To avoid this, Term now implements `Cloneable` interface, so wherever we want to mutate the term, we can get a clone of it and then mutate it. This will keep the original values intact.

This problem was being initially encountered for the following test case :-

test

where the operator of the `line-height` was being set to `null`, the second time when we were calling the `getElementStyle()` the operator `SLASH(/)` was missing, which was required for it to match a variant in `processFont()` method in `DeclarationTransformer`'s. `processFont()` was called from `parseDeclaration()` method in the same class. Since the `operator` was missing, the `font` property would have been invalid.