void RuleCollectionListView_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { string[] uris = e.Item.ListView.SelectedItems.Cast <ListViewItem>().Where(x => x != null).Select(x => x.Text).ToArray(); string result = ""; if (uris.Count() > 0) { string rule = collector.Get(uris); string formattedRule = rule.Replace("Content-Security-Policy: ", "").Replace("; ", "\r\n\r\n").Replace(" ", "\r\n\t"); result = "Document: " + uris.Aggregate((l, r) => l + " " + r) + "\r\n\r\n" + rule + "\r\n\r\n" + formattedRule; } SelectedRuleText.Text = result; }
private void ValidateCSPReportSet( string documentUri, string expectedCsp, string[] cspReportsUnsafeInline, string[] cspReportsUnsafeEval) { CSPRuleCollector collector = new CSPRuleCollector(logger); foreach (var cspReport in cspReportsUnsafeInline.Select(cspReportAsString => CSPReport.Parse(cspReportAsString))) { collector.Add(cspReport, CSPRuleCollector.InterpretBlank.UnsafeInline); } foreach (var cspReport in cspReportsUnsafeEval.Select(cspReportAsString => CSPReport.Parse(cspReportAsString))) { collector.Add(cspReport, CSPRuleCollector.InterpretBlank.UnsafeEval); } Assert.AreEqual(collector.Get(documentUri), expectedCsp); }