_wl(' saving changes...'); $osmApi->saveChanges('A yapafo.net test'); _assert($node->isDirty()); $tags = $node->findTags(array($tagName => $tagValue)); _assert(count($tags) == 1); _assert($node->hasTags(array($tagName => $tagValue))); // remove then reload object to get real changes $osmApi->removeObject(OSM_Api::OBJTYPE_NODE, '611571'); $node = $osmApi->getNode('611571'); $tags = $node->findTags(array($tagName => $tagValue)); _assert(count($tags) == 1); _assert($node->hasTags(array($tagName => $tagValue))); // test a node's tag modification $tagName = 'yapafo.net::test::modify'; $tagValue = '1'; $osmApi->removeAllObjects(); $node = $osmApi->getNode('611571'); if (!$node->hasTags(array($tagName => null))) { $node->addTag(new OSM_Objects_Tag($tagName, $tagValue)); _wl(' saving changes...'); $osmApi->saveChanges('A yapafo.net test'); $osmApi->removeAllObjects(); $node = $osmApi->getNode('611571'); } else { } $node->setTag($tagName, $tagValue + 1); _assert($node->isDirty()); _wl(' saving changes...'); $osmApi->saveChanges('A yapafo.net test'); _assert($node->isDirty()); $osmApi->removeAllObjects();