nokogiri 1.1.1-java

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of nokogiri might be problematic. Click here for more details.

Files changed (142) hide show
  1. data/History.ja.txt +99 -0
  2. data/History.txt +99 -0
  3. data/Manifest.txt +141 -0
  4. data/README.ja.txt +100 -0
  5. data/README.txt +109 -0
  6. data/Rakefile +354 -0
  7. data/ext/nokogiri/extconf.rb +93 -0
  8. data/ext/nokogiri/html_document.c +86 -0
  9. data/ext/nokogiri/html_document.h +10 -0
  10. data/ext/nokogiri/html_sax_parser.c +36 -0
  11. data/ext/nokogiri/html_sax_parser.h +11 -0
  12. data/ext/nokogiri/native.c +41 -0
  13. data/ext/nokogiri/native.h +50 -0
  14. data/ext/nokogiri/xml_cdata.c +44 -0
  15. data/ext/nokogiri/xml_cdata.h +9 -0
  16. data/ext/nokogiri/xml_comment.c +42 -0
  17. data/ext/nokogiri/xml_comment.h +9 -0
  18. data/ext/nokogiri/xml_document.c +206 -0
  19. data/ext/nokogiri/xml_document.h +10 -0
  20. data/ext/nokogiri/xml_dtd.c +121 -0
  21. data/ext/nokogiri/xml_dtd.h +8 -0
  22. data/ext/nokogiri/xml_io.c +17 -0
  23. data/ext/nokogiri/xml_io.h +9 -0
  24. data/ext/nokogiri/xml_node.c +727 -0
  25. data/ext/nokogiri/xml_node.h +13 -0
  26. data/ext/nokogiri/xml_node_set.c +118 -0
  27. data/ext/nokogiri/xml_node_set.h +9 -0
  28. data/ext/nokogiri/xml_reader.c +465 -0
  29. data/ext/nokogiri/xml_reader.h +10 -0
  30. data/ext/nokogiri/xml_sax_parser.c +201 -0
  31. data/ext/nokogiri/xml_sax_parser.h +10 -0
  32. data/ext/nokogiri/xml_syntax_error.c +199 -0
  33. data/ext/nokogiri/xml_syntax_error.h +11 -0
  34. data/ext/nokogiri/xml_text.c +40 -0
  35. data/ext/nokogiri/xml_text.h +9 -0
  36. data/ext/nokogiri/xml_xpath.c +53 -0
  37. data/ext/nokogiri/xml_xpath.h +11 -0
  38. data/ext/nokogiri/xml_xpath_context.c +214 -0
  39. data/ext/nokogiri/xml_xpath_context.h +9 -0
  40. data/ext/nokogiri/xslt_stylesheet.c +123 -0
  41. data/ext/nokogiri/xslt_stylesheet.h +9 -0
  42. data/lib/action-nokogiri.rb +30 -0
  43. data/lib/nokogiri.rb +72 -0
  44. data/lib/nokogiri/css.rb +25 -0
  45. data/lib/nokogiri/css/generated_parser.rb +721 -0
  46. data/lib/nokogiri/css/generated_tokenizer.rb +159 -0
  47. data/lib/nokogiri/css/node.rb +97 -0
  48. data/lib/nokogiri/css/parser.rb +64 -0
  49. data/lib/nokogiri/css/parser.y +216 -0
  50. data/lib/nokogiri/css/syntax_error.rb +6 -0
  51. data/lib/nokogiri/css/tokenizer.rb +9 -0
  52. data/lib/nokogiri/css/tokenizer.rex +63 -0
  53. data/lib/nokogiri/css/xpath_visitor.rb +168 -0
  54. data/lib/nokogiri/decorators.rb +2 -0
  55. data/lib/nokogiri/decorators/hpricot.rb +3 -0
  56. data/lib/nokogiri/decorators/hpricot/node.rb +56 -0
  57. data/lib/nokogiri/decorators/hpricot/node_set.rb +54 -0
  58. data/lib/nokogiri/decorators/hpricot/xpath_visitor.rb +28 -0
  59. data/lib/nokogiri/decorators/slop.rb +31 -0
  60. data/lib/nokogiri/hpricot.rb +51 -0
  61. data/lib/nokogiri/html.rb +105 -0
  62. data/lib/nokogiri/html/builder.rb +9 -0
  63. data/lib/nokogiri/html/document.rb +9 -0
  64. data/lib/nokogiri/html/sax/parser.rb +21 -0
  65. data/lib/nokogiri/version.rb +3 -0
  66. data/lib/nokogiri/xml.rb +83 -0
  67. data/lib/nokogiri/xml/after_handler.rb +18 -0
  68. data/lib/nokogiri/xml/attr.rb +10 -0
  69. data/lib/nokogiri/xml/before_handler.rb +33 -0
  70. data/lib/nokogiri/xml/builder.rb +84 -0
  71. data/lib/nokogiri/xml/cdata.rb +9 -0
  72. data/lib/nokogiri/xml/comment.rb +6 -0
  73. data/lib/nokogiri/xml/document.rb +55 -0
  74. data/lib/nokogiri/xml/dtd.rb +6 -0
  75. data/lib/nokogiri/xml/element.rb +6 -0
  76. data/lib/nokogiri/xml/entity_declaration.rb +9 -0
  77. data/lib/nokogiri/xml/node.rb +333 -0
  78. data/lib/nokogiri/xml/node_set.rb +197 -0
  79. data/lib/nokogiri/xml/notation.rb +6 -0
  80. data/lib/nokogiri/xml/reader.rb +20 -0
  81. data/lib/nokogiri/xml/sax.rb +9 -0
  82. data/lib/nokogiri/xml/sax/document.rb +59 -0
  83. data/lib/nokogiri/xml/sax/parser.rb +37 -0
  84. data/lib/nokogiri/xml/syntax_error.rb +21 -0
  85. data/lib/nokogiri/xml/text.rb +6 -0
  86. data/lib/nokogiri/xml/xpath.rb +10 -0
  87. data/lib/nokogiri/xml/xpath/syntax_error.rb +8 -0
  88. data/lib/nokogiri/xml/xpath_context.rb +14 -0
  89. data/lib/nokogiri/xslt.rb +28 -0
  90. data/lib/nokogiri/xslt/stylesheet.rb +6 -0
  91. data/test/css/test_nthiness.rb +159 -0
  92. data/test/css/test_parser.rb +237 -0
  93. data/test/css/test_tokenizer.rb +162 -0
  94. data/test/css/test_xpath_visitor.rb +64 -0
  95. data/test/files/dont_hurt_em_why.xml +422 -0
  96. data/test/files/exslt.xml +8 -0
  97. data/test/files/exslt.xslt +35 -0
  98. data/test/files/staff.xml +59 -0
  99. data/test/files/staff.xslt +32 -0
  100. data/test/files/tlm.html +850 -0
  101. data/test/helper.rb +78 -0
  102. data/test/hpricot/files/basic.xhtml +17 -0
  103. data/test/hpricot/files/boingboing.html +2266 -0
  104. data/test/hpricot/files/cy0.html +3653 -0
  105. data/test/hpricot/files/immob.html +400 -0
  106. data/test/hpricot/files/pace_application.html +1320 -0
  107. data/test/hpricot/files/tenderlove.html +16 -0
  108. data/test/hpricot/files/uswebgen.html +220 -0
  109. data/test/hpricot/files/utf8.html +1054 -0
  110. data/test/hpricot/files/week9.html +1723 -0
  111. data/test/hpricot/files/why.xml +19 -0
  112. data/test/hpricot/load_files.rb +11 -0
  113. data/test/hpricot/test_alter.rb +67 -0
  114. data/test/hpricot/test_builder.rb +27 -0
  115. data/test/hpricot/test_parser.rb +426 -0
  116. data/test/hpricot/test_paths.rb +15 -0
  117. data/test/hpricot/test_preserved.rb +77 -0
  118. data/test/hpricot/test_xml.rb +30 -0
  119. data/test/html/sax/test_parser.rb +27 -0
  120. data/test/html/test_builder.rb +89 -0
  121. data/test/html/test_document.rb +150 -0
  122. data/test/html/test_node.rb +21 -0
  123. data/test/test_convert_xpath.rb +185 -0
  124. data/test/test_css_cache.rb +57 -0
  125. data/test/test_gc.rb +15 -0
  126. data/test/test_memory_leak.rb +38 -0
  127. data/test/test_nokogiri.rb +97 -0
  128. data/test/test_reader.rb +222 -0
  129. data/test/test_xslt_transforms.rb +93 -0
  130. data/test/xml/sax/test_parser.rb +95 -0
  131. data/test/xml/test_attr.rb +15 -0
  132. data/test/xml/test_builder.rb +16 -0
  133. data/test/xml/test_cdata.rb +18 -0
  134. data/test/xml/test_comment.rb +16 -0
  135. data/test/xml/test_document.rb +195 -0
  136. data/test/xml/test_dtd.rb +43 -0
  137. data/test/xml/test_node.rb +394 -0
  138. data/test/xml/test_node_set.rb +143 -0
  139. data/test/xml/test_text.rb +13 -0
  140. data/test/xml/test_xpath.rb +105 -0
  141. data/vendor/hoe.rb +1020 -0
  142. metadata +233 -0
@@ -0,0 +1,162 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', "helper"))
2
+
3
+ module Nokogiri
4
+ module CSS
5
+ class TestTokenizer < Nokogiri::TestCase
6
+ def setup
7
+ @scanner = Nokogiri::CSS::Tokenizer.new
8
+ end
9
+
10
+ def test_not_equal
11
+ @scanner.scan("h1[a!='Tender Lovemaking']")
12
+ assert_tokens([ [:IDENT, 'h1'],
13
+ ['[', '['],
14
+ [:IDENT, 'a'],
15
+ [:NOT_EQUAL, '!='],
16
+ [:STRING, "'Tender Lovemaking'"],
17
+ [']', ']'],
18
+ ], @scanner)
19
+ end
20
+
21
+ def test_function
22
+ @scanner.scan("script comment()")
23
+ assert_tokens([ [:IDENT, 'script'],
24
+ [:S, ' '],
25
+ [:FUNCTION, 'comment('],
26
+ [')', ')'],
27
+ ], @scanner)
28
+ end
29
+
30
+ def test_preceding_selector
31
+ @scanner.scan("E ~ F")
32
+ assert_tokens([ [:IDENT, 'E'],
33
+ [:TILDE, ' ~'],
34
+ [:S, ' '],
35
+ [:IDENT, 'F'],
36
+ ], @scanner)
37
+ end
38
+
39
+ def test_scan_attribute_string
40
+ @scanner.scan("h1[a='Tender Lovemaking']")
41
+ assert_tokens([ [:IDENT, 'h1'],
42
+ ['[', '['],
43
+ [:IDENT, 'a'],
44
+ ['=', '='],
45
+ [:STRING, "'Tender Lovemaking'"],
46
+ [']', ']'],
47
+ ], @scanner)
48
+ @scanner.scan('h1[a="Tender Lovemaking"]')
49
+ assert_tokens([ [:IDENT, 'h1'],
50
+ ['[', '['],
51
+ [:IDENT, 'a'],
52
+ ['=', '='],
53
+ [:STRING, '"Tender Lovemaking"'],
54
+ [']', ']'],
55
+ ], @scanner)
56
+ end
57
+
58
+ def test_scan_id
59
+ @scanner.scan('#foo')
60
+ assert_tokens([ [:HASH, '#foo'] ], @scanner)
61
+ end
62
+
63
+ def test_scan_pseudo
64
+ @scanner.scan('a:visited')
65
+ assert_tokens([ [:IDENT, 'a'],
66
+ [':', ':'],
67
+ [:IDENT, 'visited']
68
+ ], @scanner)
69
+ end
70
+
71
+ def test_scan_star
72
+ @scanner.scan('*')
73
+ assert_tokens([ ['*', '*'], ], @scanner)
74
+ end
75
+
76
+ def test_scan_class
77
+ @scanner.scan('x.awesome')
78
+ assert_tokens([ [:IDENT, 'x'],
79
+ ['.', '.'],
80
+ [:IDENT, 'awesome'],
81
+ ], @scanner)
82
+ end
83
+
84
+ def test_scan_greater
85
+ @scanner.scan('x > y')
86
+ assert_tokens([ [:IDENT, 'x'],
87
+ [:GREATER, ' >'],
88
+ [:S, ' '],
89
+ [:IDENT, 'y']
90
+ ], @scanner)
91
+ end
92
+
93
+ def test_scan_slash
94
+ @scanner.scan('x/y')
95
+ assert_tokens([ [:IDENT, 'x'],
96
+ [:SLASH, '/'],
97
+ [:IDENT, 'y']
98
+ ], @scanner)
99
+ end
100
+
101
+ def test_scan_doubleslash
102
+ @scanner.scan('x//y')
103
+ assert_tokens([ [:IDENT, 'x'],
104
+ [:DOUBLESLASH, '//'],
105
+ [:IDENT, 'y']
106
+ ], @scanner)
107
+ end
108
+
109
+ def test_scan_function_selector
110
+ @scanner.scan('x:eq(0)')
111
+ assert_tokens([ [:IDENT, 'x'],
112
+ [':', ':'],
113
+ [:FUNCTION, 'eq('],
114
+ [:NUMBER, "0"],
115
+ [")", ")"]
116
+ ], @scanner)
117
+ end
118
+
119
+ def test_scan_an_plus_b
120
+ @scanner.scan('x:nth-child(5n+3)')
121
+ assert_tokens([ [:IDENT, 'x'],
122
+ [':', ':'],
123
+ [:FUNCTION, 'nth-child('],
124
+ [:NUMBER, '5'],
125
+ [:IDENT, 'n'],
126
+ [:PLUS, '+'],
127
+ [:NUMBER, '3'],
128
+ [")", ")"]
129
+ ], @scanner)
130
+
131
+ @scanner.scan('x:nth-child(-1n+3)')
132
+ assert_tokens([ [:IDENT, 'x'],
133
+ [':', ':'],
134
+ [:FUNCTION, 'nth-child('],
135
+ [:NUMBER, '-1'],
136
+ [:IDENT, 'n'],
137
+ [:PLUS, '+'],
138
+ [:NUMBER, '3'],
139
+ [")", ")"]
140
+ ], @scanner)
141
+
142
+ @scanner.scan('x:nth-child(-n+3)')
143
+ assert_tokens([ [:IDENT, 'x'],
144
+ [':', ':'],
145
+ [:FUNCTION, 'nth-child('],
146
+ [:IDENT, '-n'],
147
+ [:PLUS, '+'],
148
+ [:NUMBER, '3'],
149
+ [")", ")"]
150
+ ], @scanner)
151
+ end
152
+
153
+ def assert_tokens(tokens, scanner)
154
+ toks = []
155
+ while tok = @scanner.next_token
156
+ toks << tok
157
+ end
158
+ assert_equal(tokens, toks)
159
+ end
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,64 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', "helper"))
2
+
3
+ module Nokogiri
4
+ module CSS
5
+ class TestXPathVisitor < Nokogiri::TestCase
6
+ def setup
7
+ @parser = Nokogiri::CSS::Parser.new
8
+ end
9
+
10
+ def test_unknown_psuedo_classes_get_pushed_down
11
+ assert_xpath("//a[aaron(.)]", @parser.parse('a:aaron'))
12
+ end
13
+
14
+ def test_unknown_functions_get_dot_plus_args
15
+ assert_xpath("//a[aaron(.)]", @parser.parse('a:aaron()'))
16
+ assert_xpath("//a[aaron(., 12)]", @parser.parse('a:aaron(12)'))
17
+ assert_xpath("//a[aaron(., 12, 1)]", @parser.parse('a:aaron(12, 1)'))
18
+ end
19
+
20
+ def test_class_selectors
21
+ assert_xpath "//*[contains(concat(' ', @class, ' '), ' red ')]",
22
+ @parser.parse(".red")
23
+ end
24
+
25
+ def test_pipe
26
+ assert_xpath "//a[@id = 'Boing' or starts-with(@id, concat('Boing', '-'))]",
27
+ @parser.parse("a[id|='Boing']")
28
+ end
29
+
30
+ def test_custom_functions
31
+ visitor = Class.new(XPathVisitor) do
32
+ attr_accessor :awesome
33
+ def visit_function_aaron node
34
+ @awesome = true
35
+ 'aaron() = 1'
36
+ end
37
+ end.new
38
+ ast = @parser.parse('a:aaron()').first
39
+ assert_equal 'a[aaron() = 1]', visitor.accept(ast)
40
+ assert visitor.awesome
41
+ end
42
+
43
+ def test_custom_psuedo_classes
44
+ visitor = Class.new(XPathVisitor) do
45
+ attr_accessor :awesome
46
+ def visit_pseudo_class_aaron node
47
+ @awesome = true
48
+ 'aaron() = 1'
49
+ end
50
+ end.new
51
+ ast = @parser.parse('a:aaron').first
52
+ assert_equal 'a[aaron() = 1]', visitor.accept(ast)
53
+ assert visitor.awesome
54
+ end
55
+
56
+ def assert_xpath expecteds, asts
57
+ expecteds = [expecteds].flatten
58
+ expecteds.zip(asts).each do |expected, actual|
59
+ assert_equal expected, actual.to_xpath
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,422 @@
1
+ <statuses type="array">
2
+ <status>
3
+ <created_at>Sat Aug 09 05:38:12 +0000 2008</created_at>
4
+ <id>882281424</id>
5
+ <text>I so just thought the guy lighting the Olympic torch was falling when he began to run on the wall. Wow that would have been catastrophic.</text>
6
+ <source>web</source>
7
+ <truncated>false</truncated>
8
+ <in_reply_to_status_id></in_reply_to_status_id>
9
+ <in_reply_to_user_id></in_reply_to_user_id>
10
+ <favorited></favorited>
11
+ <user>
12
+ <id>4243</id>
13
+ <name>John Nunemaker</name>
14
+ <screen_name>jnunemaker</screen_name>
15
+ <location>Mishawaka, IN, US</location>
16
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
17
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
18
+ <url>http://addictedtonew.com</url>
19
+ <protected>false</protected>
20
+ <followers_count>486</followers_count>
21
+ </user>
22
+ </status>
23
+ <status>
24
+ <created_at>Sat Aug 09 02:04:56 +0000 2008</created_at>
25
+ <id>882145663</id>
26
+ <text>@ijonas - wow that stuff sounds sweet</text>
27
+ <source>web</source>
28
+ <truncated>false</truncated>
29
+ <in_reply_to_status_id>882005142</in_reply_to_status_id>
30
+ <in_reply_to_user_id>1000471</in_reply_to_user_id>
31
+ <favorited></favorited>
32
+ <user>
33
+ <id>4243</id>
34
+ <name>John Nunemaker</name>
35
+ <screen_name>jnunemaker</screen_name>
36
+ <location>Mishawaka, IN, US</location>
37
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
38
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
39
+ <url>http://addictedtonew.com</url>
40
+ <protected>false</protected>
41
+ <followers_count>486</followers_count>
42
+ </user>
43
+ </status>
44
+ <status>
45
+ <created_at>Sat Aug 09 01:36:41 +0000 2008</created_at>
46
+ <id>882126691</id>
47
+ <text>Steph is driving Sally for the first time. I'm proud of her.</text>
48
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
49
+ <truncated>false</truncated>
50
+ <in_reply_to_status_id></in_reply_to_status_id>
51
+ <in_reply_to_user_id></in_reply_to_user_id>
52
+ <favorited></favorited>
53
+ <user>
54
+ <id>4243</id>
55
+ <name>John Nunemaker</name>
56
+ <screen_name>jnunemaker</screen_name>
57
+ <location>Mishawaka, IN, US</location>
58
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
59
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
60
+ <url>http://addictedtonew.com</url>
61
+ <protected>false</protected>
62
+ <followers_count>486</followers_count>
63
+ </user>
64
+ </status>
65
+ <status>
66
+ <created_at>Fri Aug 08 22:21:21 +0000 2008</created_at>
67
+ <id>881987762</id>
68
+ <text>@ijonas - what are you making with couchdb, ruby and httparty?</text>
69
+ <source>web</source>
70
+ <truncated>false</truncated>
71
+ <in_reply_to_status_id>881947237</in_reply_to_status_id>
72
+ <in_reply_to_user_id>1000471</in_reply_to_user_id>
73
+ <favorited></favorited>
74
+ <user>
75
+ <id>4243</id>
76
+ <name>John Nunemaker</name>
77
+ <screen_name>jnunemaker</screen_name>
78
+ <location>Mishawaka, IN, US</location>
79
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
80
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
81
+ <url>http://addictedtonew.com</url>
82
+ <protected>false</protected>
83
+ <followers_count>486</followers_count>
84
+ </user>
85
+ </status>
86
+ <status>
87
+ <created_at>Fri Aug 08 14:20:14 +0000 2008</created_at>
88
+ <id>881535796</id>
89
+ <text>@oaknd1 - delete it off phone and iTunes.</text>
90
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
91
+ <truncated>false</truncated>
92
+ <in_reply_to_status_id>881526234</in_reply_to_status_id>
93
+ <in_reply_to_user_id>3038211</in_reply_to_user_id>
94
+ <favorited></favorited>
95
+ <user>
96
+ <id>4243</id>
97
+ <name>John Nunemaker</name>
98
+ <screen_name>jnunemaker</screen_name>
99
+ <location>Mishawaka, IN, US</location>
100
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
101
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
102
+ <url>http://addictedtonew.com</url>
103
+ <protected>false</protected>
104
+ <followers_count>486</followers_count>
105
+ </user>
106
+ </status>
107
+ <status>
108
+ <created_at>Fri Aug 08 14:07:29 +0000 2008</created_at>
109
+ <id>881522394</id>
110
+ <text>Listening to U2 "beautiful day" in honor of it being such a beautiful day.</text>
111
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
112
+ <truncated>false</truncated>
113
+ <in_reply_to_status_id></in_reply_to_status_id>
114
+ <in_reply_to_user_id></in_reply_to_user_id>
115
+ <favorited></favorited>
116
+ <user>
117
+ <id>4243</id>
118
+ <name>John Nunemaker</name>
119
+ <screen_name>jnunemaker</screen_name>
120
+ <location>Mishawaka, IN, US</location>
121
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
122
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
123
+ <url>http://addictedtonew.com</url>
124
+ <protected>false</protected>
125
+ <followers_count>486</followers_count>
126
+ </user>
127
+ </status>
128
+ <status>
129
+ <created_at>Fri Aug 08 14:06:44 +0000 2008</created_at>
130
+ <id>881521592</id>
131
+ <text>@lizsmc1 - hi! (just passed her on the road)</text>
132
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
133
+ <truncated>false</truncated>
134
+ <in_reply_to_status_id>881519558</in_reply_to_status_id>
135
+ <in_reply_to_user_id>11485452</in_reply_to_user_id>
136
+ <favorited></favorited>
137
+ <user>
138
+ <id>4243</id>
139
+ <name>John Nunemaker</name>
140
+ <screen_name>jnunemaker</screen_name>
141
+ <location>Mishawaka, IN, US</location>
142
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
143
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
144
+ <url>http://addictedtonew.com</url>
145
+ <protected>false</protected>
146
+ <followers_count>486</followers_count>
147
+ </user>
148
+ </status>
149
+ <status>
150
+ <created_at>Fri Aug 08 13:59:35 +0000 2008</created_at>
151
+ <id>881514030</id>
152
+ <text>Beautiful day for a motorcycle ride.</text>
153
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
154
+ <truncated>false</truncated>
155
+ <in_reply_to_status_id></in_reply_to_status_id>
156
+ <in_reply_to_user_id></in_reply_to_user_id>
157
+ <favorited></favorited>
158
+ <user>
159
+ <id>4243</id>
160
+ <name>John Nunemaker</name>
161
+ <screen_name>jnunemaker</screen_name>
162
+ <location>Mishawaka, IN, US</location>
163
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
164
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
165
+ <url>http://addictedtonew.com</url>
166
+ <protected>false</protected>
167
+ <followers_count>486</followers_count>
168
+ </user>
169
+ </status>
170
+ <status>
171
+ <created_at>Fri Aug 08 13:45:21 +0000 2008</created_at>
172
+ <id>881499439</id>
173
+ <text>@lizamc1 - no way! Politos will be missed. I remember eating a whole garlic pizza there with Joe.</text>
174
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
175
+ <truncated>false</truncated>
176
+ <in_reply_to_status_id></in_reply_to_status_id>
177
+ <in_reply_to_user_id></in_reply_to_user_id>
178
+ <favorited></favorited>
179
+ <user>
180
+ <id>4243</id>
181
+ <name>John Nunemaker</name>
182
+ <screen_name>jnunemaker</screen_name>
183
+ <location>Mishawaka, IN, US</location>
184
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
185
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
186
+ <url>http://addictedtonew.com</url>
187
+ <protected>false</protected>
188
+ <followers_count>486</followers_count>
189
+ </user>
190
+ </status>
191
+ <status>
192
+ <created_at>Fri Aug 08 13:41:50 +0000 2008</created_at>
193
+ <id>881496024</id>
194
+ <text>Riding my motorcyle to campus. Using the library basement for a meeting.</text>
195
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
196
+ <truncated>false</truncated>
197
+ <in_reply_to_status_id></in_reply_to_status_id>
198
+ <in_reply_to_user_id></in_reply_to_user_id>
199
+ <favorited></favorited>
200
+ <user>
201
+ <id>4243</id>
202
+ <name>John Nunemaker</name>
203
+ <screen_name>jnunemaker</screen_name>
204
+ <location>Mishawaka, IN, US</location>
205
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
206
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
207
+ <url>http://addictedtonew.com</url>
208
+ <protected>false</protected>
209
+ <followers_count>486</followers_count>
210
+ </user>
211
+ </status>
212
+ <status>
213
+ <created_at>Thu Aug 07 22:52:20 +0000 2008</created_at>
214
+ <id>880896190</id>
215
+ <text>Scraping super glue off my finger with a knife.</text>
216
+ <source>web</source>
217
+ <truncated>false</truncated>
218
+ <in_reply_to_status_id></in_reply_to_status_id>
219
+ <in_reply_to_user_id></in_reply_to_user_id>
220
+ <favorited></favorited>
221
+ <user>
222
+ <id>4243</id>
223
+ <name>John Nunemaker</name>
224
+ <screen_name>jnunemaker</screen_name>
225
+ <location>Mishawaka, IN, US</location>
226
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
227
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
228
+ <url>http://addictedtonew.com</url>
229
+ <protected>false</protected>
230
+ <followers_count>486</followers_count>
231
+ </user>
232
+ </status>
233
+ <status>
234
+ <created_at>Thu Aug 07 22:14:35 +0000 2008</created_at>
235
+ <id>880866160</id>
236
+ <text>So cold...Starbucks north side, you win the day, but I shall bring a sweatshirt to our next battle!</text>
237
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
238
+ <truncated>false</truncated>
239
+ <in_reply_to_status_id></in_reply_to_status_id>
240
+ <in_reply_to_user_id></in_reply_to_user_id>
241
+ <favorited></favorited>
242
+ <user>
243
+ <id>4243</id>
244
+ <name>John Nunemaker</name>
245
+ <screen_name>jnunemaker</screen_name>
246
+ <location>Mishawaka, IN, US</location>
247
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
248
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
249
+ <url>http://addictedtonew.com</url>
250
+ <protected>false</protected>
251
+ <followers_count>486</followers_count>
252
+ </user>
253
+ </status>
254
+ <status>
255
+ <created_at>Thu Aug 07 17:25:40 +0000 2008</created_at>
256
+ <id>880610064</id>
257
+ <text>Headed home for a bit to get my headphones and then to the north side to meet @orderedlist.</text>
258
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
259
+ <truncated>false</truncated>
260
+ <in_reply_to_status_id></in_reply_to_status_id>
261
+ <in_reply_to_user_id></in_reply_to_user_id>
262
+ <favorited></favorited>
263
+ <user>
264
+ <id>4243</id>
265
+ <name>John Nunemaker</name>
266
+ <screen_name>jnunemaker</screen_name>
267
+ <location>Mishawaka, IN, US</location>
268
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
269
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
270
+ <url>http://addictedtonew.com</url>
271
+ <protected>false</protected>
272
+ <followers_count>485</followers_count>
273
+ </user>
274
+ </status>
275
+ <status>
276
+ <created_at>Thu Aug 07 17:15:59 +0000 2008</created_at>
277
+ <id>880600278</id>
278
+ <text>Panera wifi, why do you hate me?</text>
279
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
280
+ <truncated>false</truncated>
281
+ <in_reply_to_status_id></in_reply_to_status_id>
282
+ <in_reply_to_user_id></in_reply_to_user_id>
283
+ <favorited></favorited>
284
+ <user>
285
+ <id>4243</id>
286
+ <name>John Nunemaker</name>
287
+ <screen_name>jnunemaker</screen_name>
288
+ <location>Mishawaka, IN, US</location>
289
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
290
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
291
+ <url>http://addictedtonew.com</url>
292
+ <protected>false</protected>
293
+ <followers_count>485</followers_count>
294
+ </user>
295
+ </status>
296
+ <status>
297
+ <created_at>Thu Aug 07 15:46:25 +0000 2008</created_at>
298
+ <id>880509577</id>
299
+ <text>At panera. Turned my alarm off this morning and woke up late. Oh well.</text>
300
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
301
+ <truncated>false</truncated>
302
+ <in_reply_to_status_id></in_reply_to_status_id>
303
+ <in_reply_to_user_id></in_reply_to_user_id>
304
+ <favorited></favorited>
305
+ <user>
306
+ <id>4243</id>
307
+ <name>John Nunemaker</name>
308
+ <screen_name>jnunemaker</screen_name>
309
+ <location>Mishawaka, IN, US</location>
310
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
311
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
312
+ <url>http://addictedtonew.com</url>
313
+ <protected>false</protected>
314
+ <followers_count>485</followers_count>
315
+ </user>
316
+ </status>
317
+ <status>
318
+ <created_at>Thu Aug 07 15:01:35 +0000 2008</created_at>
319
+ <id>880463746</id>
320
+ <text>@kloh I remember days like that. Exhausting. Also, NullRiver said to sync again, uninstall app from phone and then resync app. Evidently ...</text>
321
+ <source>web</source>
322
+ <truncated>true</truncated>
323
+ <in_reply_to_status_id>880432701</in_reply_to_status_id>
324
+ <in_reply_to_user_id>10193732</in_reply_to_user_id>
325
+ <favorited></favorited>
326
+ <user>
327
+ <id>4243</id>
328
+ <name>John Nunemaker</name>
329
+ <screen_name>jnunemaker</screen_name>
330
+ <location>Mishawaka, IN, US</location>
331
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
332
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
333
+ <url>http://addictedtonew.com</url>
334
+ <protected>false</protected>
335
+ <followers_count>485</followers_count>
336
+ </user>
337
+ </status>
338
+ <status>
339
+ <created_at>Thu Aug 07 02:52:38 +0000 2008</created_at>
340
+ <id>879986739</id>
341
+ <text>@kloh - I haven't updated my OS so I'm wondering how apple could have made the app stop working. I did contact NullRiver support just no ...</text>
342
+ <source>web</source>
343
+ <truncated>true</truncated>
344
+ <in_reply_to_status_id>879980813</in_reply_to_status_id>
345
+ <in_reply_to_user_id>10193732</in_reply_to_user_id>
346
+ <favorited></favorited>
347
+ <user>
348
+ <id>4243</id>
349
+ <name>John Nunemaker</name>
350
+ <screen_name>jnunemaker</screen_name>
351
+ <location>Mishawaka, IN, US</location>
352
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
353
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
354
+ <url>http://addictedtonew.com</url>
355
+ <protected>false</protected>
356
+ <followers_count>486</followers_count>
357
+ </user>
358
+ </status>
359
+ <status>
360
+ <created_at>Thu Aug 07 02:38:58 +0000 2008</created_at>
361
+ <id>879976045</id>
362
+ <text>@jerry - i went with the pdf download.</text>
363
+ <source>web</source>
364
+ <truncated>false</truncated>
365
+ <in_reply_to_status_id>879878196</in_reply_to_status_id>
366
+ <in_reply_to_user_id>613</in_reply_to_user_id>
367
+ <favorited></favorited>
368
+ <user>
369
+ <id>4243</id>
370
+ <name>John Nunemaker</name>
371
+ <screen_name>jnunemaker</screen_name>
372
+ <location>Mishawaka, IN, US</location>
373
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
374
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
375
+ <url>http://addictedtonew.com</url>
376
+ <protected>false</protected>
377
+ <followers_count>486</followers_count>
378
+ </user>
379
+ </status>
380
+ <status>
381
+ <created_at>Thu Aug 07 02:31:26 +0000 2008</created_at>
382
+ <id>879969851</id>
383
+ <text>@kloh - it worked at home for multiple tests and just stopped when I acyltually needed it.</text>
384
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
385
+ <truncated>false</truncated>
386
+ <in_reply_to_status_id>879968483</in_reply_to_status_id>
387
+ <in_reply_to_user_id>10193732</in_reply_to_user_id>
388
+ <favorited></favorited>
389
+ <user>
390
+ <id>4243</id>
391
+ <name>John Nunemaker</name>
392
+ <screen_name>jnunemaker</screen_name>
393
+ <location>Mishawaka, IN, US</location>
394
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
395
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
396
+ <url>http://addictedtonew.com</url>
397
+ <protected>false</protected>
398
+ <followers_count>486</followers_count>
399
+ </user>
400
+ </status>
401
+ <status>
402
+ <created_at>Thu Aug 07 01:18:28 +0000 2008</created_at>
403
+ <id>879913748</id>
404
+ <text>Netshare will no longer start up for me. Of course it borks the first time I actually want to use it.</text>
405
+ <source>&lt;a href="http://help.twitter.com/index.php?pg=kb.page&amp;id=75"&gt;txt&lt;/a&gt;</source>
406
+ <truncated>false</truncated>
407
+ <in_reply_to_status_id></in_reply_to_status_id>
408
+ <in_reply_to_user_id></in_reply_to_user_id>
409
+ <favorited></favorited>
410
+ <user>
411
+ <id>4243</id>
412
+ <name>John Nunemaker</name>
413
+ <screen_name>jnunemaker</screen_name>
414
+ <location>Mishawaka, IN, US</location>
415
+ <description>Loves his wife, ruby, notre dame football and iu basketball</description>
416
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53781608/Photo_75_normal.jpg</profile_image_url>
417
+ <url>http://addictedtonew.com</url>
418
+ <protected>false</protected>
419
+ <followers_count>486</followers_count>
420
+ </user>
421
+ </status>
422
+ </statuses>