--- /dev/null
+$:.unshift(File.dirname(__FILE__) + '/../lib')
+
+require File.expand_path(File.dirname(__FILE__) + "/../../../../config/environment")
+
+
+require 'ym4r_gm'
+require 'test/unit'
+
+include Ym4r::GmPlugin
+
+class TestGoogleMaps< Test::Unit::TestCase
+ def test_javascriptify_method
+ assert_equal("addOverlayToHello",MappingObject::javascriptify_method("add_overlay_to_hello"))
+ end
+
+ def test_javascriptify_variable_mapping_object
+ map = GMap.new("div")
+ assert_equal(map.to_javascript,MappingObject::javascriptify_variable(map))
+ end
+
+ def test_javascriptify_variable_numeric
+ assert_equal("123.4",MappingObject::javascriptify_variable(123.4))
+ end
+
+ def test_javascriptify_variable_array
+ map = GMap.new("div")
+ assert_equal("[123.4,#{map.to_javascript},[123.4,#{map.to_javascript}]]",MappingObject::javascriptify_variable([123.4,map,[123.4,map]]))
+ end
+
+ def test_javascriptify_variable_hash
+ map = GMap.new("div")
+ test_str = MappingObject::javascriptify_variable("hello" => map, "chopotopoto" => [123.55,map])
+ assert("{hello : #{map.to_javascript},chopotopoto : [123.55,#{map.to_javascript}]}" == test_str || "{chopotopoto : [123.55,#{map.to_javascript}],hello : #{map.to_javascript}}" == test_str)
+ end
+
+ def test_method_call_on_mapping_object
+ map = GMap.new("div","map")
+ assert_equal("map.addHello(123.4);",map.add_hello(123.4).to_s)
+ end
+
+ def test_nested_calls_on_mapping_object
+ gmap = GMap.new("div","map")
+ assert_equal("map.addHello(map.hoYoYo(123.4),map);",gmap.add_hello(gmap.ho_yo_yo(123.4),gmap).to_s)
+ end
+
+ def test_declare_variable_latlng
+ point = GLatLng.new([123.4,123.6])
+ assert_equal("var point = new GLatLng(123.4,123.6);",point.declare("point"))
+ assert_equal("point",point.variable)
+ end
+
+ def test_array_indexing
+ obj = Variable.new("obj")
+ assert_equal("obj[0]",obj[0].variable)
+ end
+
+ def test_google_maps_geocoding
+
+
+ placemarks = Geocoding.get("Rue Clovis Paris")
+ assert_equal(Geocoding::GEO_SUCCESS,placemarks.status)
+ assert_equal(1,placemarks.length)
+ placemark = placemarks[0]
+ assert_equal("FR",placemark.country_code)
+ assert_equal("Paris",placemark.locality)
+ assert_equal("75005",placemark.postal_code)
+
+ #test iwht multiple placemarks
+ placemarks = Geocoding.get('hoogstraat, nl')
+ assert_equal(Geocoding::GEO_SUCCESS,placemarks.status)
+ assert(placemarks.length > 1)
+ assert(placemarks[0].latitude != placemarks[1].latitude )
+
+
+ end
+
+
+end
+